【发布时间】:2016-03-15 00:50:27
【问题描述】:
我在 Laravel 5 中设置了一个队列来删除公司和相关记录。每次发生这种情况时,后端都会发生大量工作,因此队列是我的最佳选择。
我设置了我的config/queue.php 文件和我的.env 文件,以便使用database 驱动程序。我正在使用Queue::pushOn 方法将作业推送到名为company_deletions 的队列中。例如。
Queue::pushOn('company_deletions', new CompanyDelete($id));
其中CompanyDelete 是使用php artisan command:make CompanyDelete --queued 创建的命令
我已尝试使用以下命令处理我的队列:
php artisan queue:work
php artisan queue:work company_deletions
php artisan queue:listen
php artisan queue:listen company_deletions
php artisan queue:work database
php artisan queue:listen database
有时在查看上述命令的输出时,我会收到以下错误:
[InvalidArgumentException]
No connector for []
即使我没有收到错误,由于某种原因,我也无法让它实际处理作业。当我查看我的jobs 表时,我可以看到队列中的作业,但是attempts 列显示0,reserved 显示0 并且reserved_at 为空。我错过了一些步骤吗?我已经多次查看文档,但无法终生找出问题所在。我也没有在 laravel 错误日志中看到任何内容。一旦这些作业在jobs 数据库中,什么会阻止它们被处理?任何帮助表示赞赏。
【问题讨论】:
-
你应该公开你的
config/queue.php -
查看日志,看看有没有什么错误……
-
如果 laravel 处理失败,它可以记录,它可能会帮助您调试。更多-laravel.com/docs/5.0/queues#failed-jobs
-
没有日志很难调试这个问题
标签: php database laravel-5 queue