in nucleus/base/tasks.py [0:0]
def cleanup():
from .models import GithubLog # avoid circular import
# requeue any that are unacknowledged after an hour
unacked = GithubLog.objects.filter(ack=False, fail_count__lt=MAX_FAILS, created__lt=now() - timedelta(hours=1))
count = 0
for ghl in unacked:
ghl.fail_count += 1
ghl.save()
tasks.schedule(save_to_github, ghl.pk)
count += 1
log.info(f"scheduled {count} GithubLog entries for trying again")
# delete acknowledged entries after a week
acked = GithubLog.objects.filter(ack=True, created__lt=now() - timedelta(weeks=1))
num_deleted, _ = acked.delete()
log.info(f"deleted {num_deleted} GithubLog entries")