2010-08-18 47 views
1

我有一个Django应用程序。允许按日期安排作业的任何作业队列系统?

我的一个模型是这样的:

class MyModel(models.Model): 

    def house_cleaning(self): 
    // cleaning up data of the model instance 

每次当我更新为MyModel的一个实例,我以后需要清理数据N天。所以我想安排一份工作,致电

this_instance.house_cleaning() 

从现在开始N天。

是否有任何作业队列,让我到:

  • Django的整合以及 - 允许我这样称呼个别模型实例
  • 被安排在今天
  • 运行仅运行作业的方法
  • 理想的情况下处理故障正常

感谢

回答

3

django-chronograph可能对您的使用情况有好处。如果您将清理作业编写为django命令,那么您可以安排它们在某个时间运行。它在场景后面使用unix cron运行。

2

有为什么cron工作不行?或者像django-cron这样的行为方式相同?编写独立的Django脚本为pretty easy。如果您希望触发房屋清洁,并在某些天后进行模型修改,那么为什么不在将来需要安排工作时将模型设置为N天的模型中创建日期标志?您可以每天运行一个脚本,用于提取日期为< =今天的所有记录,调用实例的house_cleaning()方法,然后清除日期字段。如果在此过程中发生异常,则很容易记录或发送电子邮件。