我已经创建了1个自定义Command
:
php artisan protal:process {name}
我需要为2个不同的Portal(不同的name
)触发此命令,因此,如果我在控制台中运行此命令,则一切正常:
php artisan protal:process nameone
//wait for it to finish
php artisan protal:process nametwo
我需要在晚上用cron做同样的事情,所以这就是我想出的:
app / console / Kernel.php
protected function schedule(Schedule $schedule)
{
$schedule->command('portal:process nameone')->daily()->withoutOverlapping();
$schedule->command('portal:process nametwo')->dailyAt('00:10')->withoutOverlapping();
}
由于某些原因,只有第一个命令会触发,第二个命令会被忽略。如果我在第二个注释中运行第二个注释,那就可以了。
也许在不同的时间触发2个命令,我是否必须采取除上述方法以外的其他方法?
答案 0 :(得分:0)
添加为参考答案是评论:
我以前有这个问题。问题是我从来没有正确关闭过第一个命令(例如返回),这导致Laravel认为该命令永远不会结束,因此永远不会启动下一个命令。 PHP逐行执行,因此问题可能出在withoutOverlapping
中。