在共享主机中启动 Laravel Artisan Command queue:work 的最佳方式
Best way to start Laravel Artisan Command queue:work in Shared Hosting
我正在尝试 queue:work 共享主机。
我每分钟都在使用 Cron Jobs。但是在项目开始抛出太多连接几个小时后导致服务器错误。这是我的 Cron Job 方法
/usr/local/bin/php /home/username/public_html/system/artisan queue:work --timeout=60>> /dev/null 2>&1
请大家分享启动的最佳实践Queue:Work,我希望它不会在崩溃或超时时关闭,我希望它再次重新启动。
默认情况下,当queue:work
命令执行完当前任务后,它会继续等待新的工作,并且永远不会退出。如果你和cron一起使用,那就不是你想要的了。
您应该将其与 --stop-when-empty
选项一起使用:
/usr/local/bin/php /home/username/public_html/system/artisan queue:work --stop-when-empty --timeout=60>> /dev/null 2>&1
然后工作线程将在没有剩余工作时退出,并在一分钟内由cron重新启动。
如果没有此选项,每分钟都会启动一个新线程并一直等待新工作,但之前的线程不会退出,因此您最终会遇到很多线程保持连接。
我正在尝试 queue:work 共享主机。
我每分钟都在使用 Cron Jobs。但是在项目开始抛出太多连接几个小时后导致服务器错误。这是我的 Cron Job 方法
/usr/local/bin/php /home/username/public_html/system/artisan queue:work --timeout=60>> /dev/null 2>&1
请大家分享启动的最佳实践Queue:Work,我希望它不会在崩溃或超时时关闭,我希望它再次重新启动。
默认情况下,当queue:work
命令执行完当前任务后,它会继续等待新的工作,并且永远不会退出。如果你和cron一起使用,那就不是你想要的了。
您应该将其与 --stop-when-empty
选项一起使用:
/usr/local/bin/php /home/username/public_html/system/artisan queue:work --stop-when-empty --timeout=60>> /dev/null 2>&1
然后工作线程将在没有剩余工作时退出,并在一分钟内由cron重新启动。
如果没有此选项,每分钟都会启动一个新线程并一直等待新工作,但之前的线程不会退出,因此您最终会遇到很多线程保持连接。