periodic_task_creator.py 519 Bytes
Newer Older
1 2 3 4 5 6
from __future__ import absolute_import
from django_celery_beat.models import PeriodicTask, CrontabSchedule


def make_periodic_task(job_id, data):
    schedule, _ = CrontabSchedule.objects.get_or_create(**data)
7
    task = PeriodicTask.objects.create(
8
        crontab=schedule,
9
        name='Task for job {}'.format(job_id),
10 11 12
        task='scraper.tasks.run_job',
        args=[job_id]
    )
13
    return task
14 15 16 17 18


def update_schedule(data):
    schedule, _ = CrontabSchedule.objects.get_or_create(**data)
    return schedule