datatracker/ietf/submit/migrations/0010_create_cancel_stale_submissions_task.py
Jennifer Richards 727feabfff
chore: create stale submission cleanup task and other deployment tweaks (#4358)
* chore: disable beat container for dev

* chore: use init option with celery container

* chore: create cancel_stale_submissions task via migration

* chore: revert accidental change included in last commit

* chore: terminate celery docker-init.sh on failed command
2022-08-24 12:29:48 -05:00

53 lines
2 KiB
Python

# Generated by Django 2.2.28 on 2022-08-23 08:45
from django.db import migrations
from django.utils import timezone
def forward(apps, schema_editor):
IntervalSchedule = apps.get_model('django_celery_beat', 'IntervalSchedule')
PeriodicTask = apps.get_model('django_celery_beat', 'PeriodicTask')
PeriodicTasks = apps.get_model('django_celery_beat', 'PeriodicTasks')
every_five_minutes, _ = IntervalSchedule.objects.get_or_create(
every=5,
period='minutes', # in non-migration code, use IntervalSchedule.MINUTES instead
)
task, _ = PeriodicTask.objects.get_or_create(
interval=every_five_minutes,
name='Cancel stale submissions',
task='ietf.submit.tasks.cancel_stale_submissions',
)
# this replicates the PeriodicTasks.changed() call as of django-celery-beat==2.3.0
PeriodicTasks.objects.update_or_create(ident=1, defaults={'last_update': timezone.now()})
def reverse(apps, schema_editor):
IntervalSchedule = apps.get_model('django_celery_beat', 'IntervalSchedule')
PeriodicTask = apps.get_model('django_celery_beat', 'PeriodicTask')
PeriodicTasks = apps.get_model('django_celery_beat', 'PeriodicTasks')
every_five_minutes = IntervalSchedule.objects.get(
every=5,
period='minutes', # in non-migration code, use IntervalSchedule.MINUTES instead
)
task = PeriodicTask.objects.get(
interval=every_five_minutes,
name='Cancel stale submissions',
task='ietf.submit.tasks.cancel_stale_submissions',
)
task.delete()
every_five_minutes.delete()
# this replicates the PeriodicTasks.changed() call as of django-celery-beat==2.3.0
PeriodicTasks.objects.update_or_create(ident=1, defaults={'last_update': timezone.now()})
class Migration(migrations.Migration):
dependencies = [
('submit', '0009_auto_20220427_1223'),
('django_celery_beat', '0016_alter_crontabschedule_timezone'),
]
operations = [
migrations.RunPython(forward, reverse),
]