【发布时间】: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