@prophp7

Страница 1096 из 1387
Richizu
01.06.2018
08:23:42
А у нас никто не уволился, я сижу в носу ковыряю

Bohdan
01.06.2018
08:23:44
а у нас уволился девопс, я сижу ансибл ковыряю
я бы тоже поковырял, но мне надо на сервак с дженкинсом пихнуть докер (дабы билдить образы), а те молчат

Sergey
01.06.2018
08:24:13
я бы тоже поковырял, но мне надо на сервак с дженкинсом пихнуть докер (дабы билдить образы), а те молчат
попроси их сделать так что бы слэйвы в докере крутились и попроси дать доступ к dockerfile на редактирование

надо обновить чего - вжух и обновил а не ждешь с моря погоды

Google
Bohdan
01.06.2018
08:25:04
да мне, блин, хоть любую реакцию от них а то игнорят со вчерашнего дня по крайней мере - у меня есть админский доступ к дженкинсу, и то уже хорошо - хоть поигрался с пайплайнами его базово

F01134H
01.06.2018
12:07:57
Народ, а как можно поставить открытый ресурс на паузу? Ну т.е. продолжить выполнение кода, не делая fclose() который закроет ресурс с концами

тип stream

flock я так понимаю

Max
01.06.2018
12:16:58
файл или сокет ? файл можно просто не читать, а сокетом - сложнее, у него таймаут есть

в TCP нет "паузы"

Sergey
01.06.2018
12:26:31
нет никаких таймаутов если ты сам не задал оный

в TCP нет "паузы"
ни в чем паузы нет

пауза может быть только если у тебя есть 2 процесса и один попросил другой чего-то подождать. То есть нужен какой-то общий ресурс.

который будет служить мьютексом

в рамках одного процесса те же мьютексы/семафоры

короч как только товаристч @foIIeah расскажет что он подразумевает в фразе "поставить открытый ресурс на паузу" можо будет продолжать разговор

Google
F01134H
01.06.2018
12:31:09
я так понимаю, мне нужен flock

Sergey
01.06.2018
12:31:58
я так понимаю, мне нужен flock
у тебя два процесса работают с одним файлом?

или что?

F01134H
01.06.2018
12:32:01
короч как только товаристч @foIIeah расскажет что он подразумевает в фразе "поставить открытый ресурс на паузу" можо будет продолжать разговор
когда через proc_open открываешь какой-то процесс, который не отрабатывает, а работает постоянно - это приводит к дедлоку, о чем в доке написано

Anton Saprykin
01.06.2018
12:32:13
Мне не хочется ему помогать, потому что как-то чувак похожий на него перешел на личности и побанил меня в чате ларки.

F01134H
01.06.2018
12:32:31
я тебя впервые вижу

Anton Saprykin
01.06.2018
12:32:46
Ну мб я ошибся.

Все равно помогать не хочу.

Sergey
01.06.2018
12:32:57
мог бы просто промолчать)

F01134H
01.06.2018
12:32:59
у тебя два процесса работают с одним файлом?
один процесс, но два пайпа (стрим ресурса) - на запись и на чтение

Все равно помогать не хочу.
ваше мнение очень важно для нас, продолжайте молчать, плез

Anton Saprykin
01.06.2018
12:33:23
Вот об этом я и говорю.

F01134H
01.06.2018
12:33:29
Sergey
01.06.2018
12:33:40
Вот об этом я и говорю.
я кажется понимаю почему тебя забанили где бы там тебя не банили

ты ж провоцируешь)

Anton Saprykin
01.06.2018
12:34:14
Я провоцирую? Человек рассказывает мне, что должен делать))

Sergey
01.06.2018
12:34:22
искусство вовремя заткнуться.

F01134H
01.06.2018
12:34:23
Ну так вот, stdout - постоянно стримит данные с процесса, что приводит к дэдлоку и невозможности продолжить исполнение скрипта. А мне нужно как то его поставить на паузу, выполнить какой-то код после, а потом продолжить чтение с него же

Google
Sergey
01.06.2018
12:34:27
посидишь в РО сутки поучишься

F01134H
01.06.2018
12:35:42
а если использовать fclose - то придется заново юзать proc_open с открытием нового стрима, что нарушает необходимую мне логику работы с cli)

Max
01.06.2018
12:41:51
а stdout перенаправлять в файл, и в скрипте читать этот файл - не вариант?

Max
01.06.2018
12:43:50
я так понял он из пайпа читает, если его скрипт не будет читать из пайп-а, то буффер переолнится. А с файлом такой проблемы нет

Sergey
01.06.2018
12:44:13
если я правильно понимаю он передает стрим на stdin в другой процесс который поднимает через proc_open

или читает стрим из stdout этого процесса

и процесс надо как-то стопать типа

хз, можно попытаться через stream_select мутить

Vladislav
01.06.2018
12:47:31
может можно этот читаемый процесс стопнуть?

типа SIGTSTP

F01134H
01.06.2018
12:47:50
Про то и речь)

так понимаю, flock это и делает

Vladislav
01.06.2018
12:48:00
ну пошли ему сигнал

F01134H
01.06.2018
12:48:03
(уже 3 раз про него тут говорю)

я ща протестирую этот вариант

Max
01.06.2018
12:48:44
протестируй конечно, но flock это не делает

Vladislav
01.06.2018
12:48:47
а это где-то написано?

F01134H
01.06.2018
12:49:19
я не очень понимаю как ты дэдлок получаешь.... у тебя есть стрим, ты из него читаешь. Прочитал, обработал, выплюнул в свой stdout
Мне нужно прочитать, обработать, потом опять прочитать (с новыми данными). Если закрывать стрим через fclose, то придется заново через proc_open открывать процесс, оттуда брать стрим...

Google
Vladislav
01.06.2018
12:49:51
просто послать сигнал proc_terminate

F01134H
01.06.2018
12:50:13
допустим я открыл какой то aws-cli, я туда посылаю команду какую-то. Читаю данные, результат команды. Потом еще одну команду посылаю туда... И т.д.

и aws-cli я открываю как процесс в командной строке (т.е. у меня все дальнейшие команды идут под aws-cli shell)

надеюсь понятно объяснил

Max
01.06.2018
12:52:56
а зачем вообще что-то на паузу ставить ? вроде и так должно работать, если тебе тот процесс не шлёт кучу данных

то есть непонятно где дедлок появляется

F01134H
01.06.2018
12:57:45
у меня в мозгу, все норм

Алексей
01.06.2018
13:37:06
Добрый день. Подскажите пожалуйста такой вопрос. yii2, получаем статьи из базы. Нужно сразу вывести статьи со статусом 3, потом надпись, а потом все остальные. Как правильнее это организовать? 2 запроса к базе? или разделить на 2 массива?

F01134H
01.06.2018
13:37:07
Я опять с дебильными вопросами. Вот я открыл через proc_open злосчастную aws-cli. Почитал там что-то, сделал fclose. По факту, я закрыл всего-лишь пайп на чтение данных из этого процесса и могу его как то открыть заново (не инициализируя процесс через proc_open опять). Как это можно сделать?

Dmitry
01.06.2018
13:45:09
а зачем ты делаешь fclose?

Max
01.06.2018
13:48:50
Я опять с дебильными вопросами. Вот я открыл через proc_open злосчастную aws-cli. Почитал там что-то, сделал fclose. По факту, я закрыл всего-лишь пайп на чтение данных из этого процесса и могу его как то открыть заново (не инициализируя процесс через proc_open опять). Как это можно сделать?
ты удалил свои сообщения, но я успел их прочитать :) ты делаешь stream_get_contents(). ИМХО он вернёт результат только когда стрим закрылся, а у тебя стрим не закрылся. Поэтому и stream_get_contents() ничего не отдаёт. Не используй stream_get_contents(), читай построчно и кусками

F01134H
01.06.2018
13:49:10
Окей, спасибо)

Sergey
01.06.2018
15:26:51
Не, речь про пайпы в php
пайпы в php а точнее стримы на stdin/stdout процесса созданного через proc_open

F01134H
01.06.2018
15:27:02
ага...)

Sergey
01.06.2018
15:27:25
то есть в целом просто стримы, один на запись (stdin) и один на чтение (stdout)

Google
F01134H
01.06.2018
15:27:30
попытался через stream_copy_to_stream, но там видимо теряется контекст стрима и не работает все равно =\

Sergey
01.06.2018
15:27:55
типа вот у тебя есть два php скрипта, в одном ты запускаешь другой и дэдлок

F01134H
01.06.2018
15:28:20
Окей, ща

F01134H
01.06.2018
15:31:05
https://repl.it/repls/WeightyTallDemoware

загрузило?

Страница 1096 из 1387