问题描述
我正在尝试队列:在共享主机中工作。
我每分钟都和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重新启动。
如果没有此选项,则每分钟都会启动一个新线程,并一直等待新的工作,但是上一个线程不会退出,因此最终会有很多线程保持连接。