Просмотр исходного кода

修改同步任务的时间修改

ajun 5 лет назад
Родитель
Сommit
c64b588378
1 измененных файлов с 8 добавлено и 8 удалено
  1. 8 8
      app/Console/Commands/SyncWMSOrderTask.php

+ 8 - 8
app/Console/Commands/SyncWMSOrderTask.php

@@ -48,14 +48,14 @@ class SyncWMSOrderTask extends Command
         });
 
         $start = Carbon::now();
-        // 启动时间不为空 结束时间为空 第一次任务没有执行完
-        if($start_time && $end_time == null)return;
-        // 记录了启动时间和结束时间
-        if($start_time && $end_time){
-            $start_time = Carbon::parse($start_time);
-            $end_time = Carbon::parse($end_time);
-            if($start->gt($end_time) && $start->diffInMinutes($end_time) < $this->restart)return;
-        }
+        // 判断上一次任务异常了
+        // 第一次出现异常没有记录上任务结束时间
+        if(isset($start_time) && empty($end_time) && $start->diffInMinutes(Carbon::parse($start_time)) < $this->restart)return;
+        // 这次任务启动时间 距离上一次任务的一个启动时间 小于10
+        if(isset($start_time) && isset($end_time)
+            && Carbon::parse($end_time)->lt(Carbon::parse($start_time))
+            && $start->diffInMinutes(Carbon::parse($start_time)) < $this->restart)
+            return;
 
         $start = (string)$start;
         Cache::put($this->last_start_key,$start);