【问题标题】:Laravel jobs (database) do not execute handleLaravel 作业(数据库)不执行句柄
【发布时间】:2019-02-19 09:20:51
【问题描述】:

我对 laravel 工作有疑问。 我将 laravel 作业配置为使用数据库并且它正在工作。

当我执行作业时,在数据库中创建条目并且构造函数执行良好。

但是,handle 函数永远不会被执行......并且作业保留在作业表中。

有人遇到过这个问题吗?

(我使用 Laravel 5.7)。

【问题讨论】:

  • 您是从命令行运行队列吗?例如通过命令“php artisan queue:work”
  • 是的,我使用该命令。我尝试了 'php artisan queue:work' 和 'php artisan queue:listen' 但没有任何改变......
  • 你在命令行上有任何输出 queue:work 吗?我比较喜欢用 laravel horizo​​n 和 redis,监控页面不错,大家可以试试。
  • 命令行无输出...

标签: php laravel laravel-5.7 laravel-queue laravel-jobs


【解决方案1】:

我发现了问题...

我正在使用与默认队列名称不同的队列名称,并且在 config/queue.php 中,在数据库数组中,您将默认队列名称设置为“默认”。

所以当我执行 : php artisan queue:work 时,他正在等待默认队列。

当我执行命令行时: php artisan queue:work --queue QUEUENAME 它正在工作!

谢谢大家。

【讨论】:

  • 太好了,在这种情况下,这将非常有帮助
【解决方案2】:

你应该默认听队列

php artisan queue:work

php artisan queue:work --sleep=1 --tries=5 --timeout=60

如果您不使用默认队列,请提及自定义队列

php artisan queue:work --sleep=1 --tries=5 --timeout=60 --queue customQueue

【讨论】:

    猜你喜欢
    • 2016-12-30
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    相关资源
    最近更新 更多