我有问题如何检查作业是否完成。我到处都在寻找,但我没有看到 Laravel/Lumen 有什么可以使用的,我可能遗漏了一些。示例代码:
$job = ((new FooJob($data)));
$jobID = dispatch($job);
if(is_numeric($jobID)) {
while(elapsedTime < 10sec) {
CHECK_JOB_SOMEHOW_IF_IS_DONE !?!
}
}
我已经安装了https://github.com/gilbitron/laravel-queue-monitor这真的很有帮助,可以保存已完成作业的数据。我也没有看到任何东西。
我有 Lumen 5.4 框架。
最佳答案
我提出了这个解决方案:
当作业在 Job::Handle 结束时完成时,我在 Redis 中做了一个标记,对于这个特定的作业(设置 redis 键“job:[ID_JOB]”val 1)并且在请求部分我正在检查 Redis弹出时的键,就是这样。一切正常。
另一个解决方案是通过 lumen/laravel 的事件系统来做一个 Redis 标记,但对于我想要的来说,它似乎有点矫枉过正。
关于laravel-5 - Laravel JobId 如何使用它来检查工作是否完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45817085/