2012-09-11 12:35:58 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
2016-08-23 10:27:06 +00:00
|
|
|
|
2017-01-21 20:12:19 +00:00
|
|
|
from datetime import datetime, timedelta
|
2012-09-11 12:35:58 +00:00
|
|
|
|
2021-12-15 19:22:49 +00:00
|
|
|
from app.celery import app
|
|
|
|
from celery.schedules import crontab
|
2012-09-11 12:35:58 +00:00
|
|
|
|
2016-08-18 11:41:24 +00:00
|
|
|
from app.utils import limit_rate
|
|
|
|
|
2016-08-23 10:27:06 +00:00
|
|
|
from . import models
|
2012-09-11 12:35:58 +00:00
|
|
|
|
2013-02-21 13:28:36 +00:00
|
|
|
|
2021-12-15 19:22:49 +00:00
|
|
|
@app.task(queue='encoding')
|
2012-09-11 12:35:58 +00:00
|
|
|
def update_program(**kwargs):
|
2016-08-18 11:41:24 +00:00
|
|
|
if limit_rate('tv.tasks.update_program', 8 * 60 * 60):
|
|
|
|
for c in models.Channel.objects.all():
|
|
|
|
c.update_program()
|
2017-01-21 20:12:19 +00:00
|
|
|
old = datetime.now() - timedelta(days=180)
|
2017-02-17 14:50:18 +00: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())
|