Nov 3, 2020
Just use the Celery task within your API view:
class MyApiView(View):
def get(self, *args, *kwargs):
request_data = json.loads(request.body)
arguments = do_some_logic(request_data)
my_celery_task.delay(arguments) # Queue a worker task
return JsonResponse({'status': 'STARTED'})
Your worker task will run asynchronously, while your API call will return immediately.