如何异步运行 Django 管理命令?

Jon*_*hop 5 python django asynchronous

我有一个 Django 管理命令,我想以异步方式(通过call_command函数)发出它。我的代码流程类似于:

  1. 用户填写网络表单(或编辑表单中预先存在的值)。
  2. 用户点击提交按钮,我做一些处理。
  3. 处理完成后,我想发出一个管理命令,而不强迫用户等待它返回

如果管理命令由于某种原因失败,我不会太担心(我的日志会记录这些情况),因此允许用户继续他们的快乐方式对我来说很好。

这种异步调用是否可行,如果可以,我该怎么做?threading对于这种情况,图书馆是否足够?我知道像Celery这样的软件包,但是对于像我想要做的那样简单的事情,使用类似的东西似乎是巨大的矫枉过正。

nik*_*k_m 0

这很简单!

只需使用django-rq. 简单如馅饼。

我个人使用它来异步发送电子邮件,否则用户必须等待大约 11 秒。只是让我的生活更轻松。它很轻,我喜欢它!