【问题标题】:Any job queue systems that allow scheduling jobs by date?任何允许按日期安排作业的作业队列系统?
【发布时间】:2010-08-18 00:06:08
【问题描述】:

我有一个 Django 应用程序。

我的一个模型如下所示:

class MyModel(models.Model):

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

每次更新 MyModel 实例时,我都需要在 N 天后清理数据。所以我想安排一个工作来打电话

this_instance.house_cleaning() 

N 天后。

是否有任何工作队列可以让我:

  • 与 Django 很好地集成 - 允许我调用单个模型实例的方法
  • 仅运行计划在今天运行的作业
  • 理想情况下优雅地处理故障

谢谢

【问题讨论】:

    标签: django message-queue scheduled-tasks delayed-job job-queue


    【解决方案1】:

    django-chronograph 可能适合您的用例。如果您将清理作业编写为 django 命令,那么您可以安排它们在某个时间运行。它在后台使用 unix cron 运行。

    【讨论】:

      【解决方案2】:

      是否有任何原因导致 cron 作业无法运行?或者类似django-cron 的行为方式相同?编写独立的 Django 脚本是 pretty easy。如果您想在一定天数后对您的模型进行某些更改来触发房屋清洁,为什么不在需要安排工作时设置为未来 N 天的模型中创建一个日期标志?您可以每天运行一个脚本,该脚本会提取日期为 house_cleaning() 方法,然后清除日期字段。如果在此过程中引发异常,很容易记录或发送电子邮件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-27
        • 2019-01-30
        • 2014-08-19
        • 1970-01-01
        • 2015-08-20
        • 2017-12-02
        • 1970-01-01
        相关资源
        最近更新 更多