Чувство работы резьбовой функции для проверки состояния каждые 1 час? DJANGO - PullRequest
0 голосов
/ 23 января 2020

Мне было интересно, есть ли ощущение запуска специальной функции в отдельном потоке, чтобы проверить заданный c запрос. Если return - true, тогда удалите его. Я не уверен, что это способ справиться с такими вещами в django. Я работаю над онлайн-бронированием в кинотеатрах, и я хочу удалить все объекты бронирования, если они не были подтверждены за 30 минут до запуска mov ie.

1 Ответ

0 голосов
/ 23 января 2020

Я думаю Сельдерей - это то, что вы ищете. Вы можете создать задачу и запустить ее с работником Celery в фоновом режиме. Для сельдерея> 2.0 это может быть что-то вроде:

celery.py

from celery.schedules import crontab

app.conf.beat_schedule = {
    # Executes every 30 mins
    'run-every-30-mins': {
        'task': 'tasks.rec_delete',
        'schedule': crontab(minute='*/30'),
        'args': (),
    },
}

tasks.py

import celery   

from portal.models import MyModel

@celery.task 
def rec_delete():
    MyModel.objects.filter(some_condition=True).delete()

Читайте о периодах c задач здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...