Files
BiliNote/backend/app/core/celery_app.py
思诺特 3784e15670 feat(core): 实现 Celery任务异步生成笔记
- 新增 Celery 配置文件 celery_app.py
- 创建 note_tasks.py 文件,定义生成笔记的 Celery 任务
- 修改 note_router,使用 Celery 任务异步处理笔记生成
- 重构 bili_downloader 和 youtube_downloader,支持多质量选择和错误处理
- 更新 .env.example,添加 Celery 配置项
2025-04-15 12:19:14 +08:00

29 lines
788 B
Python

from celery import Celery
from dotenv import load_dotenv
import os
# 加载 .env 文件中的环境变量
load_dotenv()
# 从环境变量中读取配置(可适配不同环境)
BROKER_URL = os.getenv("CELERY_BROKER_URL", "redis://localhost:6379/0")
BACKEND_URL = os.getenv("CELERY_RESULT_BACKEND", "redis://localhost:6379/0")
# 初始化 Celery 实例
celery_app = Celery(
"bilinote",
broker=BROKER_URL,
backend=BACKEND_URL,
)
# 基础配置
celery_app.conf.update(
task_track_started=True, # 任务启动时即可记录状态
task_time_limit=600, # 每个任务最大运行时间(秒)
task_serializer="json",
result_serializer="json",
accept_content=["json"],
timezone="Asia/Shanghai", # 设置时区
enable_utc=False,
)