From a1b80f5f0b0e4878ba5629f5e2e02890dccbd335 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 20 Dec 2018 11:05:36 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E6=B8=85=E7=90=86task=20adhoc?= =?UTF-8?q?=E5=92=8Chistory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/tasks.py | 2 -- apps/ops/tasks.py | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/assets/tasks.py b/apps/assets/tasks.py index dce2634c0..9dd58b78e 100644 --- a/apps/assets/tasks.py +++ b/apps/assets/tasks.py @@ -4,8 +4,6 @@ import re import os from celery import shared_task -from ops.celery import app as celery_app -from django.core.cache import cache from django.utils.translation import ugettext as _ from common.utils import capacity_convert, \ diff --git a/apps/ops/tasks.py b/apps/ops/tasks.py index bcdb09cee..ac0bdce89 100644 --- a/apps/ops/tasks.py +++ b/apps/ops/tasks.py @@ -2,6 +2,7 @@ from celery import shared_task, subtask from common.utils import get_logger, get_object_or_none +from .celery.utils import register_as_period_task, after_app_shutdown_clean from .models import Task, CommandExecution logger = get_logger(__file__) @@ -34,6 +35,19 @@ def run_command_execution(cid, **kwargs): return execution.run() +@shared_task +@register_as_period_task(interval=3600*24) +@after_app_shutdown_clean +def clean_tasks_adhoc_period(): + logger.debug("Start clean task adhoc and run history") + tasks = Task.objects.all() + for task in tasks: + adhoc = task.adhoc.all().order_by('-date_created')[5:] + for ad in adhoc: + ad.history.all().delete() + ad.delete() + + @shared_task def hello(name, callback=None): print("Hello {}".format(name))