1 回答
TA贡献1794条经验 获得超8个赞
听起来你有两个问题。
立即在浏览器中运行
至于立即运行,如果 Laravel 仍在使用默认sync驱动程序,则可能会发生这种情况。检查您的/config/queue.php文件并确保env()正在使用该属性。如果您的.env文件中没有设置队列驱动程序,同步是默认的回退,但您也可以根据需要更改此设置。
'default' => env('QUEUE_CONNECTION', 'sync'),
如果一切正常,请尝试运行php artisan config:clear以清空配置缓存。默认sync驱动程序可能仍处于缓存状态。
或者,您可以尝试明确定义要使用的连接。
ProcessDatabaseImport::dispatch('database/data/contacts.json')
->onConnection('database')
->delay(now()->addMinutes(2));
运行两次
我不确定这一点,但是如果您retryUntil()从 Job 中删除该方法会发生什么?
另外,我在另一个线程中发现了类似的问题,但我不知道它是否相关。
升级到 Laravel 5.4 后排队的 Laravel 排队作业运行两次
如果这没有帮助,我们可能需要更多有关您如何启动工作的信息。您是简单地访问一个 URL,还是调用此路由的机制可能会运行两次(例如,通过 Ajax)?
您可以将适用的/config/queue.php配置添加到您的问题中,因为上面提到的线程中有一些迹象表明您retry和timeout时间可能会起作用。
- 1 回答
- 0 关注
- 358 浏览
添加回答
举报