Fixes older webm_video backward compatibilty issue.
Add 'default' queue to be used from now.
Add other necessary celery settings for priority.
# default kombu stuff
BROKER_URL = string(default="amqp://")
+CELERY_DEFAULT_QUEUE = string(default="default")
# known booleans
CELERY_RESULT_PERSISTENT = boolean()
CELERY_IGNORE_RESULT = boolean()
CELERY_TRACK_STARTED = boolean()
CELERY_DISABLE_RATE_LIMITS = boolean()
-CELERY_ACKS_LATE = boolean()
+CELERY_ACKS_LATE = boolean(default=True)
CELERY_STORE_ERRORS_EVEN_IF_IGNORED = boolean()
CELERY_SEND_TASK_ERROR_EMAILS = boolean()
CELERY_SEND_EVENTS = boolean()
# known ints
CELERYD_CONCURRENCY = integer()
-CELERYD_PREFETCH_MULTIPLIER = integer()
+CELERYD_PREFETCH_MULTIPLIER = integer(default=1)
CELERY_AMQP_TASK_RESULT_EXPIRES = integer()
CELERY_AMQP_TASK_RESULT_CONNECTION_MAX = integer()
REDIS_PORT = integer()
import six
from celery import Celery
+from kombu import Exchange, Queue
from mediagoblin.tools.pluginapi import hook_runall
'mediagoblin.processing.task',
'mediagoblin.notifications.task',
'mediagoblin.submit.task',
+ 'mediagoblin.media_types.video.processing',
]
DEFAULT_SETTINGS_MODULE = 'mediagoblin.init.celery.dummy_settings_module'
else:
celery_conf = {}
+ # Add x-max-priority to config
+ celery_conf['CELERY_QUEUES'] = (
+ Queue('default', Exchange('default'), routing_key='default',
+ queue_arguments={'x-max-priority': 10}),
+ )
+
celery_settings = {}
# Add all celery settings from config
import os.path
import logging
import datetime
+import celery
import six
# =====================
+@celery.task()
def main_task(**process_info):
processor = CommonVideoProcessor(process_info['manager'], process_info['entry'])
processor.common_setup(process_info['resolution'])
processor.store_orig_metadata()
+@celery.task()
def complimentary_task(**process_info):
processor = CommonVideoProcessor(process_info['manager'], process_info['entry'])
processor.common_setup(process_info['resolution'])
vp8_threads=process_info['vp8_threads'], vorbis_quality=process_info['vorbis_quality'])
+@celery.task()
def processing_cleanup(**process_info):
processor = CommonVideoProcessor(process_info['manager'], process_info['entry'])
processor.delete_queue_file()
self.transcode(medium_size=medium_size, vp8_quality=vp8_quality,
vp8_threads=vp8_threads, vorbis_quality=vorbis_quality)
- self.copy_original()
self.generate_thumb(thumb_size=thumb_size)
self.delete_queue_file()