pandora/pandora/tv/tasks.py

23 lines
643 B
Python
Raw Normal View History

2012-09-11 14:35:58 +02:00
# -*- coding: utf-8 -*-
2017-01-21 21:12:19 +01:00
from datetime import datetime, timedelta
2012-09-11 14:35:58 +02:00
2021-12-15 19:22:49 +00:00
from app.celery import app
from celery.schedules import crontab
2012-09-11 14:35:58 +02:00
from app.utils import limit_rate
from . import models
2012-09-11 14:35:58 +02:00
2021-12-15 19:22:49 +00:00
@app.task(queue='encoding')
2012-09-11 14:35:58 +02:00
def update_program(**kwargs):
if limit_rate('tv.tasks.update_program', 8 * 60 * 60):
for c in models.Channel.objects.all():
c.update_program()
2017-01-21 21:12:19 +01:00
old = datetime.now() - timedelta(days=180)
2017-02-17 15:50:18 +01:00
models.Program.objects.filter(created__lt=old).delete()
2021-12-15 19:22:49 +00:00
@app.on_after_finalize.connect
def setup_periodic_tasks(sender, **kwargs):
sender.add_periodic_task(timedelta(days=1), update_program.s())