mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-10-12 12:20:27 +00:00
1.4 KiB
1.4 KiB
任务介绍
当前任务使用 Celery 实现,实施方案请查看 #225
定时任务
在 backend/app/task/tasks/beat.py 文件内编写相关定时任务
简单任务
在 backend/app/task/tasks/tasks.py 文件内编写相关任务代码
层级任务
如果你想对任务进行目录层级划分,使任务结构更加清晰,你可以新建任意目录,但必须注意的是
- 在
backend/app/task/tasks目录下新建 python 包目录 - 在新建目录下,务必添加
tasks.py文件,并在此文件中编写相关任务代码
消息代理
你可以通过 CELERY_BROKER 控制消息代理选择,它支持 redis 和 rabbitmq
对于本地调试,建议使用 redis
对于线上环境,强制使用 rabbitmq
Flower 只读监控
fba celery flower 默认启用只读模式,允许查看 worker 和任务,禁止撤销任务、调整进程池、关闭 worker 等管理操作。Supervisor 部署也显式启用只读模式。
需要管理操作时,使用 fba celery flower --no-read-only。部署方式可将 fba_celery_flower.conf 中的 --read-only=True 改为 --read-only=False。
Flower 2.2 对跨站写请求进行校验,反向代理应保留正确的 Host;同源 Basic Auth 页面无需额外的 cookie XSRF token。