mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
914 B
28 lines
914 B
# -*- coding: utf-8 -*- |
|
|
|
import os |
|
|
|
from celery import Celery |
|
from kombu import Exchange, Queue |
|
|
|
# set the default Django settings module for the 'celery' program. |
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'jumpserver.settings') |
|
from jumpserver import settings |
|
from .heatbeat import * |
|
|
|
# from django.conf import settings |
|
|
|
app = Celery('jumpserver') |
|
|
|
configs = {k: v for k, v in settings.__dict__.items() if k.startswith('CELERY')} |
|
# Using a string here means the worker will not have to |
|
# pickle the object when using Windows. |
|
# app.config_from_object('django.conf:settings', namespace='CELERY') |
|
configs["CELERY_QUEUES"] = [ |
|
Queue("celery", Exchange("celery"), routing_key="celery"), |
|
Queue("ansible", Exchange("ansible"), routing_key="ansible"), |
|
] |
|
|
|
app.namespace = 'CELERY' |
|
app.conf.update(configs) |
|
app.autodiscover_tasks(lambda: [app_config.split('.')[0] for app_config in settings.INSTALLED_APPS])
|
|
|