Use run_process_media in the api.
Now refactor in the api. Start with run_process_media.
This commit is contained in:
parent
8eb47d02d9
commit
37f90b435d
@ -23,15 +23,13 @@ from werkzeug.datastructures import FileStorage
|
|||||||
from werkzeug.exceptions import BadRequest, Forbidden
|
from werkzeug.exceptions import BadRequest, Forbidden
|
||||||
from werkzeug.utils import secure_filename
|
from werkzeug.utils import secure_filename
|
||||||
from werkzeug.wrappers import Response
|
from werkzeug.wrappers import Response
|
||||||
from celery import registry
|
|
||||||
|
|
||||||
from mediagoblin.decorators import require_active_login
|
from mediagoblin.decorators import require_active_login
|
||||||
from mediagoblin.processing import mark_entry_failed
|
|
||||||
from mediagoblin.processing.task import ProcessMedia
|
|
||||||
from mediagoblin.meddleware.csrf import csrf_exempt
|
from mediagoblin.meddleware.csrf import csrf_exempt
|
||||||
from mediagoblin.media_types import sniff_media
|
from mediagoblin.media_types import sniff_media
|
||||||
from mediagoblin.plugins.api.tools import api_auth, get_entry_serializable, \
|
from mediagoblin.plugins.api.tools import api_auth, get_entry_serializable, \
|
||||||
json_response
|
json_response
|
||||||
|
from mediagoblin.submit.lib import run_process_media
|
||||||
|
|
||||||
_log = logging.getLogger(__name__)
|
_log = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -104,23 +102,7 @@ def post_entry(request):
|
|||||||
#
|
#
|
||||||
# (... don't change entry after this point to avoid race
|
# (... don't change entry after this point to avoid race
|
||||||
# conditions with changes to the document via processing code)
|
# conditions with changes to the document via processing code)
|
||||||
process_media = registry.tasks[ProcessMedia.name]
|
run_process_media(entry)
|
||||||
try:
|
|
||||||
process_media.apply_async(
|
|
||||||
[unicode(entry.id)], {},
|
|
||||||
task_id=task_id)
|
|
||||||
except BaseException as e:
|
|
||||||
# The purpose of this section is because when running in "lazy"
|
|
||||||
# or always-eager-with-exceptions-propagated celery mode that
|
|
||||||
# the failure handling won't happen on Celery end. Since we
|
|
||||||
# expect a lot of users to run things in this way we have to
|
|
||||||
# capture stuff here.
|
|
||||||
#
|
|
||||||
# ... not completely the diaper pattern because the
|
|
||||||
# exception is re-raised :)
|
|
||||||
mark_entry_failed(entry.id, e)
|
|
||||||
# re-raise the exception
|
|
||||||
raise
|
|
||||||
|
|
||||||
return json_response(get_entry_serializable(entry, request.urlgen))
|
return json_response(get_entry_serializable(entry, request.urlgen))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user