【问题标题】:Laravel Queue not workLaravel 队列不起作用
【发布时间】:2017-10-26 14:03:41
【问题描述】:

我使用了 laravel 5 和队列。试试这个

$job = (new InstallTheme())->onQueue('install_theme')->delay(20);
            dispatch($job); 

不工作

$job = (new InstallTheme())->delay(20);
        dispatch($job);

工作

为什么第一个选项不起作用?

更新 laravel 仅在表 'jobs' 中的“队列” = 默认时才有效

如何解决这个问题?

我想设置 queue.php 吗?

'database' => [
            'driver' => 'database',
            'table' => 'jobs',
            'queue' => 'default',
            'retry_after' => 90,
        ],

【问题讨论】:

  • 你是如何倾听工作的?你在使用主管吗?
  • 这个版本是 5.0 吗?
  • 使用 php artisan queue:listen 和 laravel 5.5
  • 这行得通吗? dispatch(new InstallTheme())->onQueue('install_theme')->delay(20);
  • laravel 只有在表 'jobs' 中的 fuild "queue" = 默认值时才能工作。我认为需要设置 queue.php 'database' => [ 'driver' => 'database', 'table' => 'jobs', 'queue' => 'default', 'retry_after' => 90, ],

标签: php laravel laravel-5 queue


【解决方案1】:

我记得

$job = (new InstallTheme())->onQueue('install_theme')->delay(20);
            dispatch($job); 

将作业放入install_theme 队列,而您的其他代码将其放入默认队列。请尝试使用此参数运行队列工作者。

php artisan queue:work --queue=install_theme

这应该专门处理来自这个队列的作业。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-18
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 2015-12-04
    • 2017-01-08
    • 1970-01-01
    相关资源
    最近更新 更多