# -*- coding: utf-8 -*- import os from datetime import datetime, timedelta import subprocess from celery.task import periodic_task @periodic_task(run_every=timedelta(hours=1), queue='encoding') def subtitles_user(**kwargs): import annotation.models from user.models import User try: u = User.objects.get(username='subtitles') except User.DoesNotExist: print('subtitles user does not exist, unable to move subtitles') return annotation.models.Annotation.objects.filter(layer='subtitles').exclude(user=u).update(user=u) @periodic_task(run_every=timedelta(hours=1), queue='encoding') def update_ontology(**kwargs): import annotation.models t = datetime.now() - annotation.models.Annotation.objects.all().order_by('-created')[0].created if t < timedelta(hours=1): try: subprocess.call(['/srv/pandora/pandora/cms/ontology/update.sh']) except: pass @periodic_task(run_every=timedelta(hours=12), queue='encoding') def render_edits(**kwargs): path = '/home/pandora/pandora_render/render_public_edits.py' if os.path.exists(path): try: subprocess.call([path]) except: pass