通知Django运行任务

我做出了一个管理命令,该命令从csv文件填充了我的一个模型。

我需要经常进行此更新,并且csv文件有成千上万的行。

有时可能需要10分钟以上才能完成填充。

我想添加一个功能,使我可以直接通过网站上传csv文件,并且在文件上传后,django应该运行该命令或至少运行其中的逻辑,然后填充数据库。

我将如何处理?我希望能够在上传文件后离开页面,并在任务完成后收到一封电子邮件。

回答:

你可以使用Django Background Task进行相同的操作。它是Django的数据库支持的工作队列。并且比Celery易于实施。

from background_task import background

@background(schedule=60)

def your_task():

# do your cool work here.

这会将转换your_task为后台任务功能。当你从常规代码调用它时,它将实际上创建一个Task对象并将其存储在数据库中。

以上是 通知Django运行任务 的全部内容, 来源链接: utcz.com/qa/411072.html

回到顶部