def view_publisher_tasks_launch(request): u"""Launch a publication task.""" try: auth_user = request.args.get(u'ebuio_u_pk') or request.form.get(u'ebuio_u_pk') data = get_request_data(request, qs_only_first_value=True) task_id = api_core.launch_publisher_task(user_id=auth_user, media_id=data[u'media_id'], send_email=False, queue=data[u'queue'], callback_url=u'/publisher/callback') return {u'infos': [u"Publication task '{0}' was launched successfully.".format(task_id)]} except Exception as e: logging.exception(e) return {u'errors': [unicode(e)]}
def api_publisher_task_post(auth_user=None, api_core=None, request=None): u""" Launch a publication task. Any user can launch a publication task using any media asset as input. This is linked to media asset API methods access policy. The orchestrator will automatically add ``add_date`` to ``statistic``. .. note:: Interesting enhancements would be to : * Schedule tasks by specifying start time (...) * Handle the registration of tasks related to PENDING medias * Permit to publication a media asset on more than one (1) publication queue """ data = get_request_data(request, qs_only_first_value=True) task_id = api_core.launch_publisher_task(auth_user._id, data[u'media_id'], data[u'send_email'], data[u'queue'], u'/publisher/callback') return ok_200(task_id, include_properties=True)