Любые системы очереди работы, которые позволяют планированию заданий по дате?

StackOverflow https://stackoverflow.com/questions/3507945

Вопрос

У меня есть приложение Django.

Одна из моих моделей выглядит так:

class MyModel(models.Model):

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

Каждый раз, когда я обновляю экземпляр MyModel, мне нужно было очистить данные и несколько дней спустя. Так что я хотел бы запланировать работу, чтобы позвонить

this_instance.house_cleaning() 

N дней спустя.

Есть ли какая -либо очередь работы, которая позволила бы мне:

  • Хорошо интегрируйтесь с Django - Позвольте мне назвать метод отдельных экземпляров модели
  • Запустите только работу, которые планируются сегодня
  • Идеально обрабатывать сбои изящно

Спасибо

Это было полезно?

Решение

Джанго-хронограф может быть полезен для вашего варианта использования. Если вы пишете свои задания по очистке в качестве команд Django, вы планируете их работать в какое -то время. Он работает, используя Unix Cron за сценой.

Другие советы

Есть ли какие-либо причина, почему работа CRON не будет работать? Или что-то вроде Django-Cron который ведет себя так же? Это довольно легко написать автономные сценарии Django. Если вы хотите вызвать уборку House в некоторых изменениях к вам модели после определенного количества дней, почему бы не создать флаг даты в модели, которая устанавливается на N Days в будущем, когда задача должна быть запланирована? Вы можете запустить скрипт на ежедневной основе, который тянет все записи, где дата <= сегодня, вызывает экземпляр house_cleaning() Метод, а затем очищает поле даты. Если исключение поднимается во время процесса, достаточно легко зарегистрировать его или отправить электронную почту.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top