add support for db partition in cleanup_jobs

Changes in old unpartitioned cleanup logic:
* Manually cascade delete events related to job(s)

(new partitions cleanup logic) For each event type:
* Get the event partitions that are within the cleanup date range
* Get a list of jobs to delete that are in the cutoff range.
* Jobs that are running, pending, or waiting in the job list are special.
* Use the special list to further filter the partition drop list.
* Drop partitions
* delete jobs
This commit is contained in:
Chris Meyers
2021-04-01 08:12:58 -04:00
committed by Jim Ladd
parent fb97687d14
commit 4efbd45b3c
5 changed files with 204 additions and 6 deletions

View File

@@ -52,6 +52,11 @@ class UnifiedJobDeletionMixin(object):
else:
# if it has been > 1 minute, events are probably lost
logger.warning('Allowing deletion of {} through the API without all events ' 'processed.'.format(obj.log_format))
# Manually cascade delete events if unpartitioned job
if obj.has_unpartitioned_events:
obj.get_event_queryset().delete()
obj.delete()
return Response(status=status.HTTP_204_NO_CONTENT)