本地启动Flower来监控Dify的Celery任务队列

本地启动Flower来监控Dify的Celery任务队列

说明:

启动Middleware服务

bash 复制代码
git clone https://github.com/langgenius/dify.git
cd dify
cd docker
cp middleware.env.example middleware.env
docker compose -f docker-compose.middleware.yaml --profile weaviate -p dify up -d

准备SECRET_KEY:

bash 复制代码
cd ../api
cp .env.example .env
# Generate a `SECRET_KEY` in the `.env` file.
sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env

创建Python环境并安装依赖:

bash 复制代码
python3 -m venv venv
source venv/bin/activate
pip install poetry
poetry run which python
poetry shell
poetry install
poetry add flower

运行迁移命令使得数据库保持最新:

bash 复制代码
poetry run python -m flask db upgrade

注释掉api/app.py中的monkey.patch_all(),注释后头部代码如下:

python 复制代码
import os

if os.environ.get("DEBUG", "false").lower() != "true":
    from gevent import monkey

    # monkey.patch_all()

    import grpc.experimental.gevent

    grpc.experimental.gevent.init_gevent()

如果不关闭monkey patching,flower的页面将无法正常刷新出来,见我在flower库上提出的issue: https://github.com/mher/flower/issues/1390

启动Flask API服务:

bash 复制代码
poetry run python -m flask run --host 0.0.0.0 --port=5001 --debug

启动Web服务:

bash 复制代码
cd ../web
npm install
npm run dev

启动Celery任务队列:

bash 复制代码
# source venv/bin/activate
poetry run python -m celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_trace,app_deletion

启动Flower:

bash 复制代码
# source venv/bin/activate
poetry run python -m celery -A app.celery flower --port=5555 --address='0.0.0.0' --debug --enable_events
相关推荐
TGITCIC29 分钟前
智能觉醒:四大AI Agent框架重构未来生产力
人工智能·ai·agent·rag·ai agent·智能体·agent框架
肖祥2 小时前
dify升级,PostgreSQL数据库字段更新处理
dify
程序员一一涤生4 小时前
Dify开发必备:分享8个官方文档不曾解释的关键技巧
低代码·dify·ai平台
肖祥1 天前
SearXNG私有化部署与Dify集成
dify
白熊1882 天前
Mac 本地化部署 dify
macos·dify
xidianjiapei0015 天前
构建大语言模型应用:数据准备(第二部分)
人工智能·语言模型·自然语言处理·llm·rag
xidianjiapei0015 天前
构建大语言模型应用:简介(第一部分)
人工智能·语言模型·自然语言处理·llm·rag
塞大花5 天前
微软 GraphRAG 项目学习总结
人工智能·microsoft·语言模型·大语言模型·rag·knowledge graph·graphrag
伏颜.6 天前
Dify实现自然语言生成SQL并执行
python·dify