开发人员,我遇到了一个问题。我的队列不工作,或者我只是不明白它是如何工作的。我创建了一个命令,应该添加一个新的队列作业。队列的驱动程序是-数据库。执行命令后,我在表"jobs"中看到一个新行。在那之后,我尝试做"php-artisan队列:工作",但什么也没发生。
请帮帮我,我该如何执行这份工作?
来自文档:[Daemon Queue Listener]queue:work
artisan命令包含一个--daemon
选项,用于强制队列工作者在不重新启动框架的情况下继续处理作业。与队列:侦听命令:相比,这会显著减少CPU使用量
要在守护进程模式下启动队列工作程序,请使用--daemon
标志:
php artisan queue:work connection --daemon
但是,如果您没有多个连接,请删除连接并在没有连接的情况下执行:
php artisan queue:work --daemon
它对我有效。
尝试
php artisan queue:listen
相反。
是的,队列作业有时不会运行。对于使用redis队列驱动程序的部署,如果没有,则可以按照此处的说明安装和配置redis,然后应使用php artisan queue:failed-table
CCD_ 6,然后使用CCD_。
--delay=[NUM_OF_SECONDS]
。
例如,在失败后等待30秒重试
run: php artisan queue:work tries=3 --delay=30
或
php artisan queue:work --daemon --tries=3 --sleep=5 --delay=10