Use tuple as default return type of workflow()
authorvijeth-aradhya <vijthaaa@gmail.com>
Wed, 21 Jun 2017 04:30:56 +0000 (10:00 +0530)
committervijeth-aradhya <vijthaaa@gmail.com>
Wed, 21 Jun 2017 04:33:40 +0000 (10:03 +0530)
If None, then schedule the old Celery call, else the format
is group and a single task in the tuple. Hence, Celery chord would
be ideal to use.

Closes #4

mediagoblin/media_types/video/processing.py
mediagoblin/submit/lib.py

index 2a6a716f0fcc6cbe9976400529e8404f10958fe8..ee2aa443ed607f942b886f3b206a60b7dd945864 100644 (file)
@@ -22,7 +22,7 @@ import celery
 
 import six
 
-from celery import group, chord
+from celery import group
 from mediagoblin import mg_globals as mgg
 from mediagoblin.processing import (
     FilenameBuilder, BaseProcessingFail,
@@ -585,7 +585,4 @@ class VideoProcessingManager(ProcessingManager):
         cleanup_task = processing_cleanup.signature(args=(entry.id,),
                                                     queue='default', immutable=True)
 
-        chord(transcoding_tasks)(cleanup_task)
-
-        # Not sure what to return since we are scheduling the task here itself
-        return 1
+        return (transcoding_tasks, cleanup_task)
index b228dbd14012b5aaa67b4d409988ed48591f3b5e..9ec96923a08804ea0b6e89c713cbacb73e8535f4 100644 (file)
@@ -20,6 +20,8 @@ from os.path import splitext
 
 import six
 
+from celery import chord
+
 from werkzeug.utils import secure_filename
 from werkzeug.datastructures import FileStorage
 
@@ -271,6 +273,8 @@ def run_process_media(entry, feed_url=None,
             ProcessMedia().apply_async(
                 [entry.id, feed_url, reprocess_action, reprocess_info], {},
                 task_id=entry.queued_task_id)
+        else:
+            chord(wf[0])(wf[1])
     except BaseException as exc:
         # The purpose of this section is because when running in "lazy"
         # or always-eager-with-exceptions-propagated celery mode that