Laravel无法使用数据库执行作业队列

5
我正在尝试执行作业队列,以在后台进程中执行邮件和短信功能。目前已经能够正常运行。
QUEUE_DRIVER=sync

.env文件中,但是当我与数据库一起使用时。
QUEUE_DRIVER=database

即使使用CLI命令,它仍然无法工作:

php artisan queue:listen

请告诉我这种功能存在什么问题。 laravel.log:enter image description here

我将其作为一张图片添加到我的问题中。 - Manish Arora
谢谢。但这只是日志的一小部分,与队列无关。你能否将完整的日志发布到gist.github.com或pastebin.com上? - Skysplit
https://gist.github.com/manish4926/523febfec5ae191bf8357a591d8338b9 - Manish Arora
请在代码执行后提供最后的日志消息。 - Bogdan Koliesnik
谢谢大家!现在它可以工作了。这是在作业页面中使用Eloquent查询的问题。 - Manish Arora
显示剩余10条评论
1个回答

1

以下是我调试的方法:

  • 如果您正在使用supervisor,请停止它。
  • 进入您的目录并输入php artisan queue:listen,如果看到任何错误,则可能存在与您正在运行的作业类相关的问题。Laravel 5.2会在错误中给出路径,如果仔细查看,则可以在数据库中看到传递给构造函数的参数。

还要检查作业表中的保留字段是否已填充,并且尝试次数是否大于1。

如果尝试次数为0,则意味着您的supervisor服务存在问题(如果您正在使用它),请尝试unlink /path/to/socket.sock,然后运行supervisord命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接