Search code examples
djangomessage-queuescheduled-tasksdelayed-jobjob-queue

Any job queue systems that allow scheduling jobs by date?


I have a Django application.

One of my models looks like this:

class MyModel(models.Model):

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

Every time when I update an instance of MyModel, I'd need to clean up the data N days later. So I'd like to schedule a job to call

this_instance.house_cleaning() 

N days from now.

Is there any job queue that would allow me to:

  • Integrate well with Django - allow me to call a method of individual model instances
  • Only run jobs that are scheduled to run today
  • Ideally handle failures gracefully

Thanks


Solution

  • django-chronograph might be good for your use case. If you write your cleanup jobs as django commands, then you schedule them to run at some time. It runs using unix cron behind the scene.