【发布时间】:2020-10-24 03:33:59
【问题描述】:
我在 Django 中有一个端点,它启动一个需要很长时间才能完成的函数。我不希望请求等到此功能完成。
def MyRequest(APIView):
def get(self, request, *args **kwargs):
a_function_which_takes_really_long_time()
return Response({"message" : "We're Working on it."})
我尝试将 asyncio 与 Django Asynchronous Support 一起使用。还在这里尝试了python线程。但是所有这些都在发出请求,直到功能完成。
我知道我们可以使用 Celery 轻松实现这一目标。但这种方法需要我使用消息代理,例如 Redis、RabbitMQ 或任何其他我不应该使用的类似服务器。
【问题讨论】:
标签: python django asynchronous celery