Как удалить объект через 5 минут? Сельдерей

Я пытаюсь создать периодическую задачу с помощью celery для удаления объекта после истечения 24 часов, я искал и пробовал несколько решений, но ни одно из них не работает

celery.py

import os

from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'arhi.settings')

app = Celery('arhi')


BASE_REDIS_URL = os.environ.get('REDIS_URL', 'redis://localhost:6379')
CELERY_BROKER_URL = os.environ.get('REDIS_URL')
app.conf.broker_url = BASE_REDIS_URL


app.config_from_object('django.conf:settings', namespace='CELERY')

app.conf.beat_schedule = {
    'every-1-minute':{
        'task':'tarea.tasks.delete_file',
        'schedule':60,
    }
}
app.conf.timezone = 'America/Bogota'

app.autodiscover_tasks()

models.py

import uuid
from django.db import models
from django.utils import timezone


# Create your models here.

class Archivo(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    file = models.CharField(max_length=60)
    fecha_subida = models.DateTimeField(default=timezone.now)

    class Meta:
        verbose_name = 'Archivos'

Celery выполняет любое другое задание, которое вы ему поручаете, но это задание на удаление некоторого объекта не выполняет

tasks.py

from datetime import datetime
from django.utils import timezone
from celery import shared_task
from .models import Archivo

@shared_task
def delete_file():
    files = Archivo.objects.filter(fecha_subida__lte=timezone.now())
    if files:
        files.delete()
        return "files eliminados"
    return "no hay archivos" 
Вернуться на верх