我正在尝试在Django中实现某种后台任务队列,因为Celery太庞大了。复杂,然后它发生在我身上,已经有一个叫request_finished
https://docs.djangoproject.com/en/dev/ref/signals/#django.core.signals.request_finished
但为什么Django没有名为response_finished
的信号?
Django可能是同步的,但我可以做一些事后响应数据处理和保存任务,它只需要更多的步骤。
是否可以在Django中进行一些后期响应工作?
TIA
答案 0 :(得分:2)
如果您需要在汇总回复后执行任务,则可以write your own middleware(特别是使用process_response
)。在响应“完成”之后,有一个信号处理程序是没有意义的,你已经执行了你的视图并渲染了你的模板。
答案 1 :(得分:1)
因为没有人回答这个问题,我自己得出了一些结论
https://groups.google.com/d/topic/python-web-sig/OEahWtsPwq4/discussion
它基本上是一种wsgi设计行为。 Wsgi不关心在响应迭代器停止后会发生什么。