Следует ли использовать один цикл ReactPHP для нескольких целей, как показано ниже, или следует создать новый цикл и использовать его для каждой цели? При повторном использовании цикл, очевидно, уже запущен, так как можно убедиться, что он не был непреднамеренно выполнен до полной настройки, например, в моем примере process
(т.е. между $process->start($loop)
и $process->stdout->on(...)
)?
<?php
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server('127.0.0.1:8080', $loop);
$socket->on('connection', function (React\Socket\ConnectionInterface $connection) use($loop) {
$connection->on('data', function ($data) use ($connection, $loop) {
$loop->addTimer(10, function() {
syslog(LOG_INFO, 'Do something upon non-repeating timer completion');
});
$process = new \React\ChildProcess\Process($cmd);
$process->start($loop);
$process->stdout->on('data', function ($chunk) {
syslog(LOG_INFO, 'Do something with $chunk');
});
});
});
$loop->run();