每当django视图中有耗时的逻辑时,我就使用celery将其作为后台任务运行并返回响应。你知道吗
from my_app.task import long_task
import json
def my_view(request):
body = request.body
body = json.loads(body)
key = body['key']
long_task.delay(key) # This will run in background
return JsonResponse({'message': 'request submitted'})
有没有办法实现这种行为调用长任务方法没有任何后台任务队列,如芹菜等,这样我可以快速发送响应给用户?你知道吗
我想应该有办法使用操作系统和python特性来做到这一点。你知道吗
好吧,您可以直接在视图处理程序中调用函数。你知道吗
如果这是
Celery
任务,可以调用apply
:如果您使用的是Python>;=3.5,则可以尝试使用asyncio来运行后台任务:
更多信息可以找到here
如果您想在较低版本的Python(例如2.7)上使用asyncio,您应该能够做到这一点,但是请记住,标准核心库中没有包含asyncio,您需要安装它。你知道吗
相关问题 更多 >
编程相关推荐