Переглянути джерело

修改创建定时任务传参方式

locky 1 рік тому
батько
коміт
3b3297a696
1 змінених файлів з 8 додано та 3 видалено
  1. 8 3
      Controller/SensorGateway/SmartSceneController.py

+ 8 - 3
Controller/SensorGateway/SmartSceneController.py

@@ -1319,13 +1319,18 @@ class SmartSceneView(View):
         celery_beat_obj = CeleryBeatObj()
         name = serial_number + '_'
         task = 'Controller.CeleryTasks.tasks.loocam_smart_scene'
-        args = [device_type, event_type, serial_number, scene_id]
+        kwargs = {
+            'device_type': device_type,
+            'event_type': event_type,
+            'serial_number': serial_number,
+            'scene_id': scene_id
+        }
         # 一次性任务
         if repeat == 0:
             time_stamp = condition['time_dict']['time_stamp'] + delay_time
             name += str(time_stamp)
             celery_beat_obj.creat_clocked_task(
-                name=name, task=task, time_stamp=time_stamp, timezone_offset=tz, args=args)
+                name=name, task=task, time_stamp=time_stamp, timezone_offset=tz, kwargs=kwargs)
         # 周期任务
         else:
             hour, minute, second, is_next_day = cls.handle_delay_time(minutes, delay_time)
@@ -1334,7 +1339,7 @@ class SmartSceneView(View):
             time_str = weeks + '_{:02d}{:02d}{:02d}'.format(hour, minute, second)
             name += time_str
             celery_beat_obj.creat_crontab_task(
-                timezone_offset=tz, name=name, task=task, minute=minute, hour=hour, day_of_week=weeks, args=args)
+                timezone_offset=tz, name=name, task=task, minute=minute, hour=hour, day_of_week=weeks, kwargs=kwargs)
         return name
 
     @staticmethod