@Lepilov

Выпонение бэкграундной задачи по расписанию для модели джанго?

Есть модель в которой в зависимости от текущего времени надо апдейтить одно поле status
class Rfis(models.Model):
    RFI_STATUS = (
                    ("Created", "Created"),
                    ("Opened", "Opened"),
                    ("Issued", "Issued")
                 )
    rfi_status = models.CharField(max_length=50, choices=RFI_STATUS, default="Created")
    rfiid = models.CharField(max_length=4, primary_key=True)
    active = models.BooleanField(default=True)
    issue_datetime = models.DateTimeField(blank=True, null=True)
    open_datetime = models.DateTimeField(blank=True, null=True)
    close_datetime = models.DateTimeField(blank=True, null=True)
    timestamp = models.DateTimeField(auto_now_add=True)

пример логики:
если текущее время >= issue_datetime то status = Issued.

Какой самый простой способ реализации подобной задачи? знаю про Celery но не будет ли это перебор для такой простой задачи. Может есть более релевантные способы?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Можно написать management command и запускать его кроном. Хотя я бы смотрел в сторону изменения логики, чтобы вообще не приходилось изменять данные по таймеру.
Ответ написан
Django-cron как самый изишный вариант
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы