Merge branch 'v3' of github.com:jumpserver/jumpserver into v3

pull/9239/head
Bai 2022-12-22 18:57:04 +08:00
commit 4aed287efc
1 changed files with 8 additions and 6 deletions

View File

@ -1,17 +1,15 @@
import ast import ast
from celery import signals
from django.db import transaction from celery import signals
from django.core.cache import cache from django.core.cache import cache
from django.db import transaction
from django.db.models.signals import pre_save from django.db.models.signals import pre_save
from django.dispatch import receiver
from django.db.utils import ProgrammingError from django.db.utils import ProgrammingError
from django.dispatch import receiver
from django.utils import translation, timezone from django.utils import translation, timezone
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from common.signals import django_ready
from common.db.utils import close_old_connections, get_logger from common.db.utils import close_old_connections, get_logger
from .celery import app from .celery import app
from .models import CeleryTaskExecution, CeleryTask, Job from .models import CeleryTaskExecution, CeleryTask, Job
@ -27,8 +25,12 @@ def on_account_pre_create(sender, instance, **kwargs):
instance.version += 1 instance.version += 1
@receiver(django_ready) @receiver(signals.worker_ready)
def sync_registered_tasks(*args, **kwargs): def sync_registered_tasks(*args, **kwargs):
synced = cache.get('synced_registered_tasks', False)
if synced:
return
cache.set('synced_registered_tasks', True, 60)
with transaction.atomic(): with transaction.atomic():
try: try:
db_tasks = CeleryTask.objects.all() db_tasks = CeleryTask.objects.all()