2026-01-19 00:09:36 +08:00
|
|
|
"""
|
|
|
|
|
Celery 应用配置
|
|
|
|
|
"""
|
|
|
|
|
from celery import Celery
|
2026-05-02 12:14:37 +08:00
|
|
|
from celery.schedules import crontab
|
2026-01-19 00:09:36 +08:00
|
|
|
from app.core.config import settings
|
|
|
|
|
|
|
|
|
|
celery_app = Celery(
|
|
|
|
|
"aiagent",
|
|
|
|
|
broker=settings.REDIS_URL,
|
|
|
|
|
backend=settings.REDIS_URL,
|
2026-05-02 12:14:37 +08:00
|
|
|
include=[
|
|
|
|
|
"app.tasks.workflow_tasks",
|
|
|
|
|
"app.tasks.agent_tasks",
|
|
|
|
|
"app.tasks.scheduler_tasks",
|
|
|
|
|
]
|
2026-01-19 00:09:36 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
celery_app.conf.update(
|
|
|
|
|
task_serializer="json",
|
|
|
|
|
accept_content=["json"],
|
|
|
|
|
result_serializer="json",
|
|
|
|
|
timezone="Asia/Shanghai",
|
|
|
|
|
enable_utc=True,
|
|
|
|
|
task_track_started=True,
|
|
|
|
|
task_time_limit=30 * 60, # 30分钟
|
|
|
|
|
task_soft_time_limit=25 * 60, # 25分钟
|
|
|
|
|
)
|
2026-05-02 12:14:37 +08:00
|
|
|
|
|
|
|
|
# Celery Beat 定时调度配置
|
|
|
|
|
celery_app.conf.beat_schedule = {
|
|
|
|
|
"check-agent-schedules-every-minute": {
|
|
|
|
|
"task": "app.tasks.scheduler_tasks.check_agent_schedules_task",
|
|
|
|
|
"schedule": crontab(minute="*"), # 每分钟检查
|
|
|
|
|
},
|
|
|
|
|
}
|