有一个按照计划运行命令的代码,但我注意到它们不是同时执行的,但是在完成前一个命令之后,如何使任务同时运行?
$tasks = Profile::where('active', true)->whereNotNull('frequency')->get();
foreach ($tasks as $task) {
$frequency = $task->frequency;
$schedule->call(function () use ($task) {
Artisan::call('exchange:run', [
'--id' => $task->id
]);
})->$frequency();
}
我在文件Kernel.php的调度方法中有代码
发布于 2022-03-28 04:09:35
您可以使用runInBackground()
方法:
foreach ($tasks as $task) {
$frequency = $task->frequency;
$schedule->call(function () use ($task) {
Artisan::call('exchange:run', [
'--id' => $task->id
]);
})->runInBackground()->$frequency();
}
https://stackoverflow.com/questions/71647066
复制