
Constantine
21.02.2017
15:26:50
:D

Pavel
21.02.2017
16:23:42
Сегодня у нас на работе прям возникла потребность в моем гипотетическом проекте демоноворкера
Который плодит процессы и выполняет в них задачи. Точно буду пилить его по паре часов в неделю.

Dmitry
21.02.2017
16:27:22
хочешь универсальное решение?

Google

Pavel
21.02.2017
16:28:54
Ну да

Dmitry
21.02.2017
16:29:00
купи битрикс

Pavel
21.02.2017
16:29:18
?oh god why

Dmitry
21.02.2017
16:29:38
что бы посмотреть, куда заводят универсальные решения ;)

Pavel
21.02.2017
16:30:27
Вот не надо
обобщать универсально про универсальность решений ;)

Dmitry
21.02.2017
16:30:59
да, да, создавая битрикс тоже так говорили ;)

Pavel
21.02.2017
16:31:03
composer - универсальное решение для управления пакетами и он отличнейше взлетел
симфони универсальный фреймворк для создания универсальных фреймворков и все с ним ок

Dmitry
21.02.2017
16:31:51
композер не универсален, а симфони - не решение ;)
но даже при этом, копозер за налет универсальности жрет гигами память, а разобраться с симфони - не один вечер

Pavel
21.02.2017
16:33:54
Это не повод опускать руки

Dmitry
21.02.2017
16:34:07
это повод бить по ним линейкой ;)

Google

Pavel
21.02.2017
16:35:05
Представляю как это пишут в чате seldaek'у который рассказал о своем универсальном решении по пхп пакетам :)

Dmitry
21.02.2017
16:36:21
да где ж универсальное... вот если бы оно ставило пакеты питона и руби, да еще заменяла aptitude, то еще можно было бы назвать универсальным
комопзер может разрешать конфликтные зависимости устанавливая разные версии одного пакета?

Pavel
21.02.2017
16:40:15
Определение термина универсальности не цель дискуссии тут

Aleksandr
21.02.2017
16:40:46
https://laravel.com/docs/4.2/ioc
Почему этой главы нет для laravel 5> версии? Обратное связывание в нём убрали что ли?

Dmitry
21.02.2017
16:40:52
Хочу 5 библиотек в vendor1 и еще 5 в vendor2, как сделать?
ну так битрикс тоже работает, и прекрасно работает, что уж ;)

Pavel
21.02.2017
16:44:40

Dmitry
21.02.2017
16:45:51
но!

Aleksandr
21.02.2017
17:00:35

dypa
21.02.2017
17:31:53

Pavel
21.02.2017
17:34:42
Я же уже 2 раза объяснял что моя идея не заменяет rabbitmq а дополняет его

Adel
21.02.2017
17:36:02
я не думал что обработчики очереди это такая прям проблема
воркеры тобишь

Pavel
21.02.2017
17:37:46
Они падают, текут, и их надо как-то масштабировать. И еще иметь возможность узнать над чем работает воркер и как у него дела.

Adel
21.02.2017
17:39:03
phpDaemon?

Pavel
21.02.2017
17:39:43
А как у него дела? Он хорош?

Adel
21.02.2017
17:39:47
хотя это похоже уже старье
но наверняка есть

Google

Pavel
21.02.2017
17:39:55
Ну вот да

Adel
21.02.2017
17:39:59
толку пилить велосипед...

Pavel
21.02.2017
17:40:25
Я смотрел его год назад где-то, и мало того что ему лет 10 уже, так там еще и половина документации была недописана
Все говорят что есть :) Но реально нету. Хотя я видел кажется китайскую поделку, которая была написана в стиле php 5.2

dypa
21.02.2017
17:44:16
phpDaemon?
автор гений, это плюс и минус. мне не подходит

Pavel
21.02.2017
17:45:16
Что значит гений? )

dypa
21.02.2017
17:46:49
для меня это очень умный человек(умный не в кавычках, а в прямом смысле), но не слишком социальный

Adel
21.02.2017
17:47:14
конечно, ведь юзать фреймворк написанный им, это почти что жениться на нем :-P

dypa
21.02.2017
17:48:31

Pavel
21.02.2017
17:48:37
ну если смотреть исходники пхпдемона, то там банально код запутаный и усложненный.
То есть 10 лет назад это было гениально конечно, но сейчас...

Dmitry
21.02.2017
17:50:16
то сейчас до сих пор нельзя один event loop с сокетами и коннектом в базу? ;)

Pavel
21.02.2017
17:50:26
В репе лежат всякие SockJS, XMLParser, конфиги какие-то мусорные. Это такоэ.. Сейчас модно делать маленькие ниндзя-библиотечки.

Webloh
21.02.2017
20:41:52
Согласен с Павлом, одно дело юзать 10 лет назад, и другое дело сейчас. Можно много более легких путей найти. И главное - их много.

Grigori
21.02.2017
20:46:16
запутанный код phpdaemon?
никто не писал асинхронный код, например, для curl_multi? :)

Dmitry
21.02.2017
20:49:16
я писал

Vyacheslav
22.02.2017
07:12:12
Всем привет. Можно ли получить в php список процессов. Главное что-бы работало и под никсами и под виндой.
Вообще задача состоит в том что бы написать скрипт который подымит сервер (php -S) потом запустит тесты и после тестов остановит сервер. Проблема в том что когда я запускаю php -S то получаю pid процесса, но сам сервер работает с другим pid.

Google

Виктор
22.02.2017
07:33:43
Получить список процессов из PHP можно, а вот управлять ими, зависит от того, под кем пых запущен
Было дело писал скриптик для убийства пачки процессов читальщиков парсера

dypa
22.02.2017
07:39:31

Vyacheslav
22.02.2017
07:40:01

dypa
22.02.2017
07:41:00
как не помог!? запускаешь процесс, в конце тестов останавливаешь процесс.

Vyacheslav
22.02.2017
07:42:14
pid который у тебя в объекте будет храниться и тот который будет реально сервер это 2 разных pid'a

Виктор
22.02.2017
07:42:19
вот выдержка из кода
$cpid = posix_getpid();
exec("ps aux | grep -v grep | grep '<process string>'", $psOutput);
print_r($psOutput);
if (count($psOutput) > 0) {
foreach ($psOutput as $ps) {
$ps = preg_split('/ +/', $ps);
$pid = $ps[1];
if($pid != $cpid) {
$result = posix_kill($pid, 9);
}
}
}

Vyacheslav
22.02.2017
07:42:58
Главное требование это работа под виндой. Под виндой нет ps

Admin
ERROR: S client not available

Виктор
22.02.2017
07:43:02
сопсна список процессов
exec("ps aux | grep -v grep | grep '<process string>'", $psOutput);
ну ясно)
полный виндец)

Vyacheslav
22.02.2017
07:44:59
Вот что я пробовал и оно не помогает $command = 'php -S localhost:'. $port .' ' . __DIR__ . '/public/index.html';
$shell = new Symfony\Component\Process\Process($command);
$shell->start();
if ($shell->isRunning()) {
echo "{$command} \n";
echo "{$shell->getPid()} \n";
$test = file_get_contents('http://localhost:' . $port);
$shell->stop();
}

Виктор
22.02.2017
07:50:32
Что не помогает? Процесс не останавливается?
аль под виндой не стопается?

dypa
22.02.2017
08:00:11

Vyacheslav
22.02.2017
08:03:43
Ошибок нет. Сервер не стопается. Проблему я выше описал.
под виндой не проверял. Но вот под никсами не стопается.

Сергей
22.02.2017
08:12:11
вот есть библиотека может она поможет: https://github.com/krakjoe/pthreads

Google

Кирилл
22.02.2017
08:12:21

dypa
22.02.2017
08:40:17

Vyacheslav
22.02.2017
09:06:25

dypa
22.02.2017
09:11:26
Да
https://github.com/symfony/symfony/issues/5759

Denis
22.02.2017
11:44:15
Уважаемые,ну помогите новичку)
while($row = mysqli_fetch_array($query)){
$i++;
echo "<div id='$i' class='user' onclick='selectUser($i);refresh()'>".$row['sent_id']."</div>";
while($row1 = mysqli_fetch_array($query1)){
if($row['sent_id'] == $row1['sent_id'])
echo "<div id='$i' class='user' onclick='selectUser($i);refresh()'>Новое сообщение</div>";
}
}
почему не работает цикл в цикле

Constantine
22.02.2017
11:44:59
было же уже?)))

Denis
22.02.2017
11:45:16
было но я вроде подправил)
уже и так и сяк

Constantine
22.02.2017
11:45:23
хуево подправил )

Denis
22.02.2017
11:45:27
)
сейчас внутренний цикл только один раз отрабатывает

Constantine
22.02.2017
11:45:40
ты так и не почитал документацию по пхп )

Denis
22.02.2017
11:45:52
читал)

Constantine
22.02.2017
11:45:55
нет )

Denis
22.02.2017
11:46:01
я делал такие циклы

Constantine
22.02.2017
11:46:04
не по студенчески читай
а прям бери и думай при этом

Denis
22.02.2017
11:46:56
гугл говорит ддолжно работать)
но он ошибается)

Constantine
22.02.2017
11:47:21
как ты гуглил, что он тебе сказал, что работает?