【问题标题】:Laravel 5.2 Job with delay fires instantly instead of waitingLaravel 5.2 延迟的作业立即触发而不是等待
【发布时间】:2015-09-04 11:29:14
【问题描述】:

我正在使用 Laravel 5.2 框架创建一个应用程序。在我的申请中,我想在事件发生 2 天后解雇一份工作。

这是生成正确作业实例的代码,我将延迟设置为等于 2 天的秒数。

 $job = (new RemoveNotPayedOrder($order))->delay(172800);

 $this->dispatch($job);

当代码到达调度方法时,作业会立即触发,而不是等待我在延迟方法中指定的秒数。

我使用 php artisan 提供的 make:job 命令生成了 Job 类。

我已阅读文档:http://laravel.com/docs/5.1/queues#delayed-jobs,我认为我的代码是正确的。关于什么可能是错的任何想法?

【问题讨论】:

  • 你使用的是什么队列服务器?
  • 我正在使用 MAMP 进行本地开发。
  • 请在您的问题中包含您的 config/queue.php 文件。我假设您没有安装和运行实际的队列服务器?
  • 你是对的!我从来不知道队列司机。它被设置为“同步”,这显然不起作用。我已将其设置为数据库并运行迁移以创建作业表。它现在完美运行。感谢您的帮助。
  • np,我把它作为答案发布。

标签: php laravel laravel-5 jobs laravel-5.2


【解决方案1】:

问题最终是队列驱动程序(config/queue.php)被设置为“同步”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 2012-05-27
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多