天天看點

php7定時重複執行任務,Laravel定時任務重複執行

Laravel定時任務執行的指令的時間不确定,我根據文檔添加了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