我有一个Django应用程序。
我的一个模型看起来像这样:
class MyModel(models.Model):
def house_cleaning(self):
// cleaning up data of the model instance
每当我更新MyModel的实例时,我都需要在N天后清理数据。所以我想安排一份工作来打电话
this_instance.house_cleaning()
从现在起N天。
是否有任何工作队列可以让我:
由于
答案 0 :(得分:3)
django-chronograph可能对您的用例有用。如果您将清理作业写为django命令,那么您可以将它们安排在某个时间运行。它在场景后面使用unix cron运行。
答案 1 :(得分:2)
有没有理由说cron工作不起作用?或类似django-cron的行为方式相同?编写独立的Django脚本是pretty easy。如果您想在特定天数后对模型进行某些更改时触发房屋清洁,为什么不在模型中创建日期标志,该日期标志设置为将来需要安排作业时的N天?您可以每天运行一个脚本,它会提取日期为< = today的所有记录,调用实例的house_cleaning()
方法,然后清除日期字段。如果在此过程中引发异常,则可以轻松记录或发送电子邮件。