有个简单的问题,我想,但它还是让我卡住了。在
假设我有一个简单的模型:
class myModel(models.Model):
expires = models.DateTimeField(...)
我想,比如在指定的时间做点什么:发邮件,删除模型,更改一些模型字段。。。什么。django core中是否有一个允许我这样做的工具?在
或者,如果不是的话,我认为应该使用一些任务队列工具。我有djcelery
在我的项目中工作,尽管我是一个完全的新手,到目前为止我所能做的就是运行django-celery-email
包,以便异步发送邮件。虽然我不能说我完全有能力定义任务和工人在后台工作并且是可靠的。在
如果有任何想法,关于如何解决此类问题,请不要犹豫=)
写一个custom management command来完成你想要的任务。完成后,您应该能够使用
python manage.py yourtaskname
运行任务。使用} 、^{} 、^{} 或{a5}来安排任务。
cron
、at
、periodic tasks in ^{如果您在一台类UNIX的机器上,您可能有权访问cronjobs。如果你在Windows上,我听说有一个叫做
at
的程序可以做类似的事情。如果这不适合您的需要,有很多方法可以每X小时使用time
库(time.sleep(SOME_NUMBER_OF_SECONDS)
与其他任何你想做的事情循环在一起,如果你想经常做某件事,那么就需要查看time.localtime()
并检查条件)。在我认为最好的方法是后台任务——读取数据时间,并在达到或已经达到日期时间时执行任务。在
关于scheduled task,请参阅此处给出的解决方案
所以工作流程应该是:
相关问题 更多 >
编程相关推荐