refactor: remove scheduler service and related code

This commit is contained in:
CaptainB 2025-11-07 21:02:27 +08:00
parent 0ca2306039
commit 42d91e232b
4 changed files with 12 additions and 16 deletions

View File

@ -11,7 +11,6 @@ class Services(TextChoices):
gunicorn = 'gunicorn', 'gunicorn'
celery_default = 'celery_default', 'celery_default'
local_model = 'local_model', 'local_model'
scheduler = 'scheduler', 'scheduler'
web = 'web', 'web'
celery = 'celery', 'celery'
celery_model = 'celery_model', 'celery_model'
@ -25,7 +24,6 @@ class Services(TextChoices):
cls.gunicorn.value: services.GunicornService,
cls.celery_default: services.CeleryDefaultService,
cls.local_model: services.GunicornLocalModelService,
cls.scheduler: services.SchedulerService,
}
return services_map.get(name)
@ -41,13 +39,10 @@ class Services(TextChoices):
def task_services(cls):
return cls.celery_services()
@classmethod
def scheduler_services(cls):
return [cls.scheduler]
@classmethod
def all_services(cls):
return cls.web_services() + cls.task_services() + cls.scheduler_services()
return cls.web_services() + cls.task_services()
@classmethod
def export_services_values(cls):

View File

@ -44,15 +44,5 @@ def post_handler():
DatabaseModelManage.init()
def post_scheduler_handler():
from common import job
job.run()
# 启动后处理函数
post_handler()
# 仅在scheduler中启动定时任务dev local_model celery 不需要
if os.environ.get('ENABLE_SCHEDULER') == '1':
post_scheduler_handler()

View File

@ -17,12 +17,20 @@ from .logger import CeleryThreadTaskFileHandler
logger = logging.getLogger(__file__)
safe_str = lambda x: x
def init_scheduler():
from common import job
job.run()
@worker_ready.connect
def on_app_ready(sender=None, headers=None, **kwargs):
if cache.get("CELERY_APP_READY", 0) == 1:
return
cache.set("CELERY_APP_READY", 1, 10)
# 初始化定时任务
init_scheduler()
tasks = get_after_app_ready_tasks()
logger.debug("Work ready signal recv")
logger.debug("Start need start task: [{}]".format(", ".join(tasks)))

View File

@ -4,3 +4,6 @@ from django.apps import AppConfig
class UsersConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'users'
def ready(self):
from ops.celery import signal_handler