在Django中定期运行一个函数

时间:2010-09-04 05:46:39

标签: django django-admin

我在Django中编写应用程序来监控一组服务器中的某些服务。我想定期更新意见。到目前为止,我已经考虑过编写自定义管理命令(link here)并在我的模板中添加{%ifchanged%}标记。我只是想知道这是否是最好的方法,或者是否有更好的方法,比如自动刷新网页的某些部分或其他内容。谢谢。

2 个答案:

答案 0 :(得分:2)

如果您想定期运行某些内容,我建议您查看celery个任务(请参阅here获取简要教程)。

从那里开始,就像Craig Trader提到的那样,您可以使用AJAX来检查任务的状态(django-celery内置了viewsurls可以使用的内容。

答案 1 :(得分:0)

ifchanged template tag非常适用于处理模板中的一系列对象,并且如果字段从一个对象更改为下一个对象,则需要执行某些操作。这可能无法满足您的需求。

如果您只是希望定期更新支持模型的数据,那么编写自定义命令并使用cron作业定期运行它是最有意义的。

如果您希望用户界面定期刷新,有很多方法可以做到这一点:元刷新标记,javascript / jquery技巧,甚至使用AJAX来更新显示的数据。