Pārlūkot izejas kodu

Merge branch '3.0'

Ask Solem 12 gadi atpakaļ
vecāks
revīzija
d1baf59e1c
2 mainītis faili ar 9 papildinājumiem un 6 dzēšanām
  1. 1 1
      celery/bin/base.py
  2. 8 5
      celery/worker/control.py

+ 1 - 1
celery/bin/base.py

@@ -176,7 +176,7 @@ class Command(object):
         for i, arg in enumerate(argv):
         for i, arg in enumerate(argv):
             if arg.startswith('-'):
             if arg.startswith('-'):
                 if long_opts and arg.startswith('--'):
                 if long_opts and arg.startswith('--'):
-                    name, val = arg.split('=', 1)
+                    name, _, val = arg.partition('=')
                     if name in long_opts:
                     if name in long_opts:
                         return val
                         return val
                 if short_opts and arg in short_opts:
                 if short_opts and arg in short_opts:

+ 8 - 5
celery/worker/control.py

@@ -141,6 +141,7 @@ def time_limit(panel, task_name=None, hard=None, soft=None, **kwargs):
 
 
 @Panel.register
 @Panel.register
 def dump_schedule(panel, safe=False, **kwargs):
 def dump_schedule(panel, safe=False, **kwargs):
+    from celery.worker.job import Request
     schedule = panel.consumer.timer.schedule
     schedule = panel.consumer.timer.schedule
     if not schedule.queue:
     if not schedule.queue:
         logger.debug('--Empty schedule--')
         logger.debug('--Empty schedule--')
@@ -153,11 +154,13 @@ def dump_schedule(panel, safe=False, **kwargs):
     info = map(formatitem, enumerate(schedule.info()))
     info = map(formatitem, enumerate(schedule.info()))
     logger.debug('* Dump of current schedule:\n%s', '\n'.join(info))
     logger.debug('* Dump of current schedule:\n%s', '\n'.join(info))
     scheduled_tasks = []
     scheduled_tasks = []
-    for item in schedule.info():
-        scheduled_tasks.append({'eta': item['eta'],
-                                'priority': item['priority'],
-                                'request':
-                                    item['item'].args[0].info(safe=safe)})
+    for info in schedule.info():
+        item = info['item']
+        if item.args and isinstance(item.args[0], Request):
+            scheduled_tasks.append({'eta': info['eta'],
+                                    'priority': info['priority'],
+                                    'request':
+                                        item.args[0].info(safe=safe)})
     return scheduled_tasks
     return scheduled_tasks