Laravel Scheduler在不同的时间触发2个命令

问题描述 投票:0回答:1

我创建了1个自定义Command

php artisan protal:process {name}

我需要为2个不同的门户(不同的name)发出这个命令,所以如果我在我的控制台中运行它一切正常:

php artisan protal:process nameone
//wait for it to finish
php artisan protal:process nametwo

我需要在晚上用cron做同样的事情,所以这就是我提出的:

应用程序/控制台/ Kernel.php

protected function schedule(Schedule $schedule)
{
    $schedule->command('portal:process nameone')->daily()->withoutOverlapping();
    $schedule->command('portal:process nametwo')->dailyAt('00:10')->withoutOverlapping();
}

由于某些原因,只有第一个命令触发,第二个命令被忽略。如果我运行第二个评论第一个它可以正常工作。

也许在不同时间发出2个命令我是否必须采取除上述之外的一些不同的方法?

php laravel artisan
1个回答
0
投票

作为参考的答案添加,是一个评论:

我以前遇到过这个问题。问题是我从未正确关闭第一个命令(例如返回),这导致Laravel认为命令从未结束,因此从未启动下一个命令。 PHP执行line for line,所以问题可能在withoutOverlapping中。

© www.soinside.com 2019 - 2024. All rights reserved.