检测工作何时完成并重新运行



我已经将我的Web刮擦功能放入了工作中,我想连续运行它。我想检测工作何时完成,并重新运行工作。我创建了一个用于触发它的命令。

php artisan update:catalog有效。在我的命令中,内部句柄,我放置了作业

public function handle()
{
    dispatch(new AppJobsUpdateCatalog());
}

我的工作看起来像这样:

public function handle()
{
    doTheScraping();
}

现在,如果我观看php artisan queue:listen database并运行update:catalog命令,则可以使用一次。

如何检测工作何时完成并重新完成工作?

您可以递归分发作业:

public function handle()
{
    doTheScraping();
    if (!$exit_condition) {
        dispatch(new self)
    }
}

最新更新