假设我的服务器在12:00:05向5个客户端设备发送相同的请求.我想等待90秒(直到12:01:35),然后检查哪些客户端已对请求做出了适当的响应,并做了其他一些事情.完成这样的事情的最佳方法是什么?
我应该排队一份工作并在开始时使用睡眠(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秒运行任务.