如何在Laravel中一个命令接一个命令运行



我有很多命令类,它们在后台运行在我的Laravel项目。我有一个场景,我想一个接一个地运行。

$schedule->command('mycommand:first')->cron("*/40 * * * *")->withoutOverlapping();
$schedule->command('mycommand:two')->cron("*/40 * * * *")->withoutOverlapping();

每40分钟一班。但我想在第一个命令运行10分钟后再运行第二个命令。我该怎么做呢?

如果您只是希望在第一个命令后10分钟启动命令,则必须正确设置cron命令。所以对于你的例子,它将是:

$schedule->command('mycommand:first')->cron("*/40 * * * *")->withoutOverlapping();
$schedule->command('mycommand:two')->cron("*/50 * * * *")->withoutOverlapping();

如果您想了解更多关于cron设置的信息,可以尝试使用crontab.guru

如果您想在mycommand:first完成后10分钟运行mycommand:two,您可能必须编辑mycommand:first以在命令末尾设置mycommand:second的超时时间和执行时间。