ソースを参照

修复定时任务名称重复问题

locky 1 年間 前
コミット
a3f0ef6450
1 ファイル変更4 行追加3 行削除
  1. 4 3
      Controller/SensorGateway/SmartSceneController.py

+ 4 - 3
Controller/SensorGateway/SmartSceneController.py

@@ -1146,7 +1146,7 @@ class SmartSceneView(View):
                         smart_scene_id = scene_id
                     task_temp['task_id'] = cls.create_celery_task(
                         condition, minutes, delay_time, tz, repeat, sensor_type, event_type, serial_number,
-                        smart_scene_id)
+                        smart_scene_id, index)
                 scene_task_list.append(task_temp)
             else:
                 no_device_task = False
@@ -1297,7 +1297,7 @@ class SmartSceneView(View):
 
     @classmethod
     def create_celery_task(
-            cls, condition, minutes, delay_time, tz, repeat, device_type, event_type, serial_number, scene_id):
+            cls, condition, minutes, delay_time, tz, repeat, device_type, event_type, serial_number, scene_id, index):
         """
         创建定时任务
         返回任务id和时间
@@ -1310,11 +1310,12 @@ class SmartSceneView(View):
         @param event_type: 事件类型
         @param serial_number: 序列号
         @param scene_id: 场景id
+        @param index: 任务下标
         @return: task_id
         """
         celery_beat_obj = CeleryBeatObj()
         # 任务名拼接当前时间戳,防止重复
-        name = '{}_{}_'.format(serial_number, str(int(time.time())))
+        name = '{}_{}_{}_'.format(serial_number, str(int(time.time())), str(index))
         kwargs = {
             'device_type': device_type,
             'event_type': event_type,