在共享主机中启动 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重新启动。

如果没有此选项,每分钟都会启动一个新线程并一直等待新工作,但之前的线程不会退出,因此您最终会遇到很多线程保持连接。