add persistence

This commit is contained in:
Gregory Martin
2017-07-17 17:57:30 -04:00
parent a82b73ed0c
commit e2c8fc53e8

View File

@@ -4,6 +4,8 @@ This module contains all general use or cross-use handlers.
import logging
from celery.task import task
from celery_utils.logged_task import LoggedTask
from celery_utils.persist_on_failure import PersistOnFailureTask
from django.dispatch import receiver
from certificates.models import CertificateGenerationCourseSetting
@@ -25,7 +27,14 @@ def _listen_for_course_pacing_changed(sender, course_key, course_self_paced, **k
))
@task()
class _BaseSelfCertTask(PersistOnFailureTask, LoggedTask): # pylint: disable=abstract-method
"""
Include persistence features, as well as logging of task invocation.
"""
abstract = True
@task(base=_BaseSelfCertTask)
def toggle_self_generated_certs(course_key, course_self_paced):
"""
Enable or disable self-generated certificates for a course according to pacing.