aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/processing
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/processing')
-rw-r--r--mediagoblin/processing/__init__.py6
-rw-r--r--mediagoblin/processing/task.py17
2 files changed, 12 insertions, 11 deletions
diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py
index ae3652cf..454eb09b 100644
--- a/mediagoblin/processing/__init__.py
+++ b/mediagoblin/processing/__init__.py
@@ -181,10 +181,8 @@ class BaseProcessingFail(Exception):
return u"%s:%s" % (
self.__class__.__module__, self.__class__.__name__)
- def __init__(self, *args, **kwargs):
- # next line is REQUIRED to have pickable exceptions if you want
- # to be able to pass in custom arguments (see celery docs)
- Exception.__init__(self, *args, **metadata)
+ def __init__(self, **metadata):
+ self.metadata = metadata or {}
class BadMediaFail(BaseProcessingFail):
"""
diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py
index 550906d0..bb09daec 100644
--- a/mediagoblin/processing/task.py
+++ b/mediagoblin/processing/task.py
@@ -18,13 +18,13 @@ import logging
import urllib
import urllib2
-#TODO: newer celeries use from celery import Task. Change when we upgrade
-from celery.task import Task
+import celery
from celery.registry import tasks
from mediagoblin import mg_globals as mgg
-from mediagoblin.db.sql.models import MediaEntry
-from mediagoblin.processing import mark_entry_failed, BaseProcessingFail
+from mediagoblin.db.models import MediaEntry
+from mediagoblin.processing import (mark_entry_failed, BaseProcessingFail,
+ ProcessingState)
from mediagoblin.tools.processing import json_processing_callback
_log = logging.getLogger(__name__)
@@ -32,7 +32,7 @@ logging.basicConfig()
_log.setLevel(logging.DEBUG)
-@task.task(default_retry_delay=2 * 60)
+@celery.task(default_retry_delay=2 * 60)
def handle_push_urls(feed_url):
"""Subtask, notifying the PuSH servers of new content
@@ -62,10 +62,14 @@ def handle_push_urls(feed_url):
'Giving up.'.format(feed_url))
return False
+
################################
# Media processing initial steps
################################
-class ProcessMedia(Task):
+class ProcessMedia(celery.Task):
+ """
+ Pass this entry off for processing.
+ """
track_started=True
def run(self, media_id):
@@ -81,7 +85,6 @@ class ProcessMedia(Task):
# Try to process, and handle expected errors.
try:
entry.state = u'processing'
- entry.queued_task_id = self.request.id
entry.save()
_log.debug('Processing {0}'.format(entry))