跳转至

部署指南

单机部署

1. 准备环境

cd by-framework-python
uv sync

2. 启动 Redis

docker run -d --name gateway-redis \
  -p 6379:6379 \
  --restart unless-stopped \
  redis:7-alpine

3. 启动 Worker

uv run python -m by_framework \
  --worker-class my_agent.MyAgent \
  --worker-id worker-01 \
  --redis-host localhost

多 Worker 部署

如需横向扩展,可以启动多个不同 worker_id 的 Worker 进程,并让它们共享同一个 Redis 实例与相同的 target_agent_type stream。

生产环境建议

使用连接池

run_worker(
    worker_class=MyAgent,
    redis_max_connections=50
)

配置监控

import logging
from by_framework.common.logger import setup_logging

setup_logging(level=logging.INFO, use_json=True)

环境变量

环境变量 描述 默认值
BYAI_WORKER_CONCURRENCY 最大并发数 50
BYAI_WORKER_FETCH_COUNT 批量获取消息数 10
BYAI_REDIS_MAX_CONNECTIONS Redis 最大连接数 max_concurrency + 10

run_worker 配置参数

参数 类型 描述 默认值
worker_class Type[GatewayWorker] 必填。业务 Worker 类。 -
worker_id str Worker 实例的唯一标识名。 "worker-1"
redis_host str Redis 服务器地址。 "localhost"
redis_port int Redis 端口。 6379
redis_db int Redis 数据库号。 0
redis_password str Redis 密码 (可选)。 None
workspace_dir str 任务执行的本地工作目录。 "/tmp/gateway-workspace"
consumer_group str Redis 消费者组名称。 "agent_engines"
max_concurrency int 单个 Worker 的最大并发处理数。 50
fetch_count int 每次从 Redis 批量获取的消息数量。 10