Django Rest Framework и задачи celery

Я хочу создать новую конечную точку GET или POST (что лучше?) для запуска определенной задачи celery. В теле JSON я буду указывать текст, и в зависимости от этого текста будет запускаться нужная задача.

Если в body я укажу - 'first', то будет запущена задача celery generate_first_results(). Если 'second', то будет запущена задача generate_second_results(). Если 'third', то будет запущена generate_third_results().

Я создал:

urls.py

router.register('get_results', views.ResultsViewSet, basename='get_results')

views.py

class ResultsViewSet(viewsets.ViewSet):

    def create(self, request, *args, **kwargs):
        logger.info('Running results')
        serializer = ResultsSerializer(data=request.data)
        try:
            # need to make a separation depending of the body
            generate_first_results.delay()
            generate_second_results.delay()
            generate_third_results.delay()
            return Response(status=status.HTTP_202_ACCEPTED)
        except Exception as e:
            logger.debug('Failed', e)
            return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR)

serializers.py

class ResultsSerializer(serializers.Serializer):
    result = serializers.CharField(required=True):

Помогите пожалуйста

Вернуться на верх