繁体   English   中英

我如何延迟Laravel 5.2的工作时间?

[英]How do I time delay a job in Laravel 5.2?

假设我的服务器在12:00:05向5个客户端设备发送相同的请求。 我想等待90秒(直到12:01:35),然后检查哪些客户端已对请求做出了适当的响应,并做了其他一些事情。 完成这样的事情的最佳方法是什么?

我应该排队一份工作并在开始时使用sleep(90)吗? 问题是这种类型的作业总是需要至少90秒才能完成,默认情况下服务器设置为60秒后超时。 我想我可以更改服务器设置,但是如果超过60秒,我的其他工作仍然应该被认为已超时。

我应该排队计划的任务吗? 这里的问题是我认为Laravel和cron只能给你调度精度到最近的分钟(12:01或12:02,但不是12:01:35)。

您可以在Laravel中为队列使用延迟调度。 https://laravel.com/docs/master/queues#delayed-dispatching

$job = (new YourEvent($coolEvent))->delay(Carbon::now()->addSeconds(90));

这将在将任务添加到队列后90秒运行任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM