我需要在队列中运行一项工作,这需要很长时间(大约 2 小时)。它检查某些特定服务的可用性。因此,我没有将一项作业运行两个小时,它不断(每分钟)发出一个 API 请求,我想使用laravel 的调度来排队作业。我可以通过 Artisan 助手从任何地方调用调度程序:
Artisan::call('schedule:run', [
'args' => $args
]);
这将派遣一份工作。但无法弄清楚,我如何在 kernel.php 中传递参数($arg1,$arg2,..),这是我的工作文件所需要的。
// Dispatch the job to the "heartbeats" queue...
$schedule->job(new Heartbeat($arg1, $arg2, ..), 'heartbeats')->everyFiveMinutes();
我试图在 schedule 方法中传递 args,但我认为这不是正确的方法。