Я думаю Сельдерей - это то, что вы ищете. Вы можете создать задачу и запустить ее с работником 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 задач здесь .