如何执行laravel job(队列)?

时间:2016-05-06 08:40:42

标签: php laravel laravel-5

开发人员,我有一个问题。我的队列不工作或我只是不明白它是如何工作的。我创建了一个应该添加新队列作业的命令。 Queue的驱动程序是 - 数据库。执行我的命令后,我在表'jobs'中看到一个新行。之后我尝试做“php artisan queue:work” - 但没有任何反应。

请帮帮我,我该如何执行这份工作?

3 个答案:

答案 0 :(得分:1)

From the documentation:[守护程序队列侦听器] queue:work artisan命令包含--daemon选项,用于强制队列工作人员继续处理作业而无需重新处理启动框架。与queue:listen命令:

相比,这会显着降低CPU使用率

要以守护进程模式启动队列工作程序,请使用--daemon标志:

php artisan queue:work connection `--daemon`

但是,如果您没有多个连接,请删除连接并在没有连接的情况下执行它:

php artisan queue:work --daemon

它对我有用。

答案 1 :(得分:1)

是的,有时您的队列作业将无法运行。如果要使用redis队列驱动程序进行部署,则可以按照此here安装和配置redis,然后使用以下命令为失败的作业创建表: php artisan queue:failed-table php artisan migrate,然后使用php artisan queue:work redis --tries=3 --backoff=3在失败3秒后重试每个失败的作业3次。

答案 2 :(得分:0)

请尝试php artisan queue:listen