withoutOverlapping()
,但是好像没有生效开发环境:windows 10, laradock ,Laravel 5.4.36
kernel的代码
$schedule->command('produce:email')->withoutOverlapping();
命令的代码
public function handle()
{
$name = mt_rand(10000,99999);
Log::info($name . ':开始运行时间'.date('Y-m-d H:i:s'));
$this->parseAppName();
$this->createQueue();
arsort($this->queue);
if(count($this->queue) <= 0){
return ;
}
foreach ($this->queue as $key => $queue) {
$this->getHistoryId($key,$queue['filter']);
$this->executeAdd($key,$queue);
}
Log::info($name .':结束运行时间'.date('Y-m-d H:i:s'));
}
输出的日志文件如下: 80781任务结束前系统新开了8个任务
[2018-07-10 03:23:18] local.INFO: 80781:开始运行时间2018-07-10 03:23:18
[2018-07-10 03:24:07] local.INFO: 91189:开始运行时间2018-07-10 03:24:07
[2018-07-10 03:25:05] local.INFO: 73828:开始运行时间2018-07-10 03:25:05
[2018-07-10 03:26:09] local.INFO: 96934:开始运行时间2018-07-10 03:26:09
[2018-07-10 03:27:06] local.INFO: 79930:开始运行时间2018-07-10 03:27:06
[2018-07-10 03:28:13] local.INFO: 39674:开始运行时间2018-07-10 03:28:13
[2018-07-10 03:29:06] local.INFO: 44935:开始运行时间2018-07-10 03:29:06
[2018-07-10 03:30:16] local.INFO: 40087:开始运行时间2018-07-10 03:30:16
[2018-07-10 03:31:05] local.INFO: 42935:开始运行时间2018-07-10 03:31:05
[2018-07-10 03:31:26] local.INFO: 91189:结束运行时间2018-07-10 03:31:26
[2018-07-10 03:31:26] local.INFO: 80781:结束运行时间2018-07-10 03:31:26
慕丝7291255
临摹微笑
动漫人物