(постоянно принимают сообщения от mqtt брокера) Несколько их я могу запустить с командной строки добавив "&" в конец.
Можно ли их запустить программно, используя стандарнтый queue worker?
```for ($i=0;$i<4;$i++) {
Artisan::queue("infinity-loop-cmd-$i", [
'arg' => $arg,
])->onConnection('database')
->onQueue('mqtt');
}```
если так, то worker дожидается пока первая не завершится и только потом переходит к следующей. А мне бы их как-нибудь параллельно запустить программно
Можно симфонивским new Process(...)->start() это реализовать, но это фактически свой worker (пере)написать
а драйвера очередей для вашего брокера в Laravel нет?
типа какой нить async? не искал, думал стандартным обойтись Поищу попробую
что выступает в качестве брокера? RabbitMQ, Zabbix, Kafka?
не какой-то PhpMqtt\MqttClient на моей стороне коннектится к одному из MQTT-брокеров в сети (условно $c = new mqtt_client(); $c->loop())
https://github.com/php-mqtt/laravel-client
dispatch
dispatch(function () { \Artisan::call('process:pricing'); });
Обсуждают сегодня