Php Laravel 5.4-作业完成后呼叫另一个作业
一旦作业完成,生成另一个作业队列时出现问题 如laravel文档中所述,我正在使用Php Laravel 5.4-作业完成后呼叫另一个作业,php,laravel,laravel-5,cron,job-scheduling,Php,Laravel,Laravel 5,Cron,Job Scheduling,一旦作业完成,生成另一个作业队列时出现问题 如laravel文档中所述,我正在使用JobProcessed$event检测事件,它位于AppServiceProvider.php中,如下所示 Queue::after(function (JobProcessed $event) { $payload = $event->job->getRawBody(); $payload = json_decode($payload); $d
JobProcessed$event
检测事件,它位于AppServiceProvider.php中,如下所示
Queue::after(function (JobProcessed $event) {
$payload = $event->job->getRawBody();
$payload = json_decode($payload);
$data = $payload->data;
$command = unserialize($data->command);
if($command->queue == 'importInsights' && in_array($command->getInsightsOption(), ['item1', 'item2'])) {
try {
Artisan::queue("sync:insights", [
'insightOption' => 'some option',
'--day' => 'test date',
'--queue' => 'syncInsights'
]);
}
catch (\Exception $e) {
Log::error("Failed to call insights queue" . $e->getMessage());
}
}
});
对于我的本地机器,它工作正常,因为我在windows上,没有安装redis,但在测试服务器上,我们有redis,但什么都没有发生。
第一份工作做得很好,没有问题,但第二份工作什么也没发生。我也试过使用Artisan::call
,运气不好。如果我尝试在事件处理程序中使用类似于Log::error(“测试队列处理程序”)的简单代码代码>这将毫无问题地工作
如有任何建议,将不胜感激