Php工匠队列:工作不工作但插入工作

时间:2017-01-13 10:35:16

标签: mongodb laravel-5 queue

我对php artisan queue :: work命令感到不安。

我的命令不起作用,但我的作业被插入作业表但从未执行过。

我正在使用mongodb驱动程序进行队列。

我做错了请建议我。

3 个答案:

答案 0 :(得分:1)

花了半天时间进行搜索后,我发现队列不在维护模式下运行。您必须将--force放在其末尾。

-force强制工人甚至在维护模式下运行

请运行php artisan queue:work --force以便在维护模式下运行队列。

有关详细信息,请参见https://laravel.com/docs/8.x/configuration#maintenance-mode

答案 1 :(得分:0)

由于这个帖子有点旧,我会分享我的经验。

有一个错误,找不到但与此条件相对应。你可以查看你的表jobs,如果你的queue:work工作得很好,那么在Laravel中工作应该已被删除,所以问题是你的队列无法处理你表中的最高职位。这可能是数据库中可序列化数据的问题。

要解决此问题,您可以尝试清除表格 jobs id重置'增量~0'。另一方面,您还可以检查数据序列。重置表后,这可能会有所帮助。

答案 2 :(得分:0)

我遇到了类似的问题。作业已被插入MySql DB的作业表中,但是php artisan queue:work并未将其接收。

在我的情况下,队列被命名为“优先级”(作业表中的队列列值)。

所以我不得不不同地运行queue:work命令:

php artisan queue:work --daemon --queue=priority

但是请注意,以上命令仅在priority队列中执行作业;您可以根据需要添加更多队列名称,例如--queue=priority,queue_3,queue_4

我希望queue:work的值不带有--queue=来提取所有待处理的作业。

结果证明,我错了。 ¯\ _(ツ)_ /¯

希望这对其他人有帮助。