77from anyjson import serialize
88
99from celery import states
10+ from celery .five import keys , items
1011from celery .registry import tasks
1112from celery .result import AsyncResult
12- from celery .utils import get_full_cls_name , kwdict
13+ from celery .utils import get_full_cls_name
1314from celery .utils .encoding import safe_repr
1415
1516# Ensure built-in tasks are loaded for task_list view
@@ -31,10 +32,11 @@ def task_view(task):
3132 """
3233
3334 def _applier (request , ** options ):
34- kwargs = kwdict (request .method == 'POST' and
35- request .POST or request .GET )
35+ kwargs = request .POST if request .method == 'POST' else request .GET
3636 # no multivalue
37- kwargs = dict (((k , v ) for k , v in kwargs .iteritems ()), ** options )
37+ kwargs = {k : v for k , v in items (kwargs )}
38+ if options :
39+ kwargs .update (options )
3840 result = task .apply_async (kwargs = kwargs )
3941 return JsonResponse ({'ok' : 'true' , 'task_id' : result .task_id })
4042
@@ -67,7 +69,7 @@ def task_status(request, task_id):
6769 """Returns task status and result in JSON format."""
6870 result = AsyncResult (task_id )
6971 state , retval = result .state , result .result
70- response_data = dict ( id = task_id , status = state , result = retval )
72+ response_data = { 'id' : task_id , ' status' : state , ' result' : retval }
7173 if state in states .EXCEPTION_STATES :
7274 traceback = result .traceback
7375 response_data .update ({'result' : safe_repr (retval ),
@@ -78,8 +80,7 @@ def task_status(request, task_id):
7880
7981def registered_tasks (request ):
8082 """View returning all defined tasks as a JSON object."""
81- return JsonResponse ({'regular' : tasks .regular ().keys (),
82- 'periodic' : tasks .periodic ().keys ()})
83+ return JsonResponse ({'regular' : list (keys (tasks )), 'periodic' : '' })
8384
8485
8586def task_webhook (fun ):
0 commit comments