Постоянно запускать команду ремесленников с помощью laravel forge?

Может ли кто-нибудь посоветовать, как я могу сохранить мою пользовательскую команду artisan вечно работающей с демоном?

Я видел много руководств с очередями, но это не совсем подходит. Я пытаюсь выполнить «подписку» с помощью библиотеки php pubnub, и это кажется лучшим способом, если я что-то не пропустил?

Заранее спасибо!


person Vladimir Fazilov    schedule 21.10.2014    source источник
comment
Вы видите, что подписка возвращается (и выходит) через 5 минут отсутствия сообщений или после получения сообщения? Если это так, вам просто нужно вернуть true из подписки, чтобы она оставалась открытой. Сообщите мне, если это проблема, и я предоставлю более подробную информацию в качестве официального ответа.   -  person Craig Conover    schedule 13.10.2015


Ответы (2)


Если вы запустите команду artisan из командной строки - она ​​уже может работать бесконечно / вечно. Вам не нужно ничего делать.

У меня есть приложение, которое выполняет одну единственную команду мастеров 97 дней подряд.

Затем вам нужно убедиться, что по какой-то причине не произошел сбой, с помощью чего-то вроде Supervisor или службы веб-мониторинга, например Eyewitness.io

person Laurence    schedule 21.10.2014
comment
Здравствуйте, 2 вопроса по этому поводу ... 1. Если я выйду из интерфейса командной строки после выполнения команды запуска, он продолжит работу? 2. Если сервер выйдет из строя ... я предполагаю, что его придется снова запускать вручную? - person Vladimir Fazilov; 21.10.2014
comment
1. Вы не можете выйти из интерфейса командной строки - он будет работать вечно. Вы оставляете этот экран / процесс открытым в этой учетной записи пользователя. - person Laurence; 21.10.2014
comment
2. Если сервер выйдет из строя - нужно перезагрузить. Вы можете заставить Windows / Ubuntu автоматически запускать команду PHP при запуске, поэтому, если сервер перезагружается, процесс запускается снова автоматически. - person Laurence; 21.10.2014

Это поможет вам запускать команду artisan навсегда

nohup php artisan yourcommand:abc > mylog.log 2>&1 & echo $! >> save_pid.txt

когда вы хотите убить этот процесс, получите pid из файла save_pid.txt

kill pid
person Samar Haider    schedule 17.05.2017