From c82fcbb468cc4efbb289e80a3aa329a40553a9e6 Mon Sep 17 00:00:00 2001 From: liqiang <1206709430@qq.com> Date: Sat, 1 Feb 2025 18:29:51 +0800 Subject: [PATCH] =?UTF-8?q?celery=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/.gitignore | 1 - backend/application/celery.py | 11 +++++++++++ backend/application/settings.py | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/backend/.gitignore b/backend/.gitignore index 047099f..6c50cc9 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -98,5 +98,4 @@ media/ __pypackages__/ package-lock.json gunicorn.pid -plugins/* !plugins/__init__.py diff --git a/backend/application/celery.py b/backend/application/celery.py index 10bce56..c719c46 100644 --- a/backend/application/celery.py +++ b/backend/application/celery.py @@ -1,6 +1,8 @@ import functools import os +from celery.signals import task_postrun + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'application.settings') from django.conf import settings @@ -38,3 +40,12 @@ def retry_base_task_error(): return wrapper return wraps + + +@task_postrun.connect +def add_periodic_task_name(sender, task_id, task, args, kwargs, **extras): + periodic_task_name = kwargs.get('periodic_task_name') + if periodic_task_name: + from django_celery_results.models import TaskResult + # 更新 TaskResult 表中的 periodic_task_name 字段 + TaskResult.objects.filter(task_id=task_id).update(periodic_task_name=periodic_task_name) diff --git a/backend/application/settings.py b/backend/application/settings.py index e6bdec5..1d0adf7 100644 --- a/backend/application/settings.py +++ b/backend/application/settings.py @@ -404,7 +404,7 @@ PLUGINS_URL_PATTERNS = [] # ********** 一键导入插件配置开始 ********** # 例如: # from dvadmin_upgrade_center.settings import * # 升级中心 -# from dvadmin3_celery.settings import * # celery 异步任务 +from dvadmin3_celery.settings import * # celery 异步任务 # from dvadmin_third.settings import * # 第三方用户管理 # from dvadmin_ak_sk.settings import * # 秘钥管理管理 # from dvadmin_tenants.settings import * # 租户管理