laravel-5 - Laravel JobId 如何使用它来检查工作是否完成

标签 laravel-5 lumen laravel-queue laravel-jobs

我有问题如何检查作业是否完成。我到处都在寻找,但我没有看到 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/

相关文章:

php - 更改喜欢按钮

laravel-5 - 如何在指定队列运行 Laravel 作业

php - 图像未显示在队列中的邮件中 - laravel

php - 如何在流明框架中获取中间件的当前路线?

laravel - 为什么 Laravel 使用默认队列连接,即使我指定了具有不同连接的队列

php - Laravel 5.2 - 通过一个提交请求和带有行号的自定义验证消息将 n 行插入数据库

php - Laravel blade @can 策略 - 字符串

php - Laravel 5 + MongoDB

mysql - 如果使用两个表,列搜索在数据表中不起作用

php - 如何在Lumen项目中使用JSON API资源?