8000
Skip to content

Bug: docker-compose.dev.yml 存在三个问题导致开发环境完全不可用 #52

@smartchainark

Description

@smartchainark

问题描述

docker-compose.dev.yml 中存在三个独立的问题,导致 Docker 开发环境无法正常工作:

1. source 命令在 sh 中不存在

容器默认 shell 为 sh(非 bash),source 是 bash 特有命令,sh 不支持。

# 报错:source: not found
sh -c "source venv/bin/activate && ..."

2. Celery --reload 参数不支持

当前 celery 版本不支持 --reload 参数,worker 启动直接报错。

3. Celery worker 未监听实际任务队列

celery_app.py 中定义了任务路由,将任务分发到 processingvideonotificationupload 等命名队列,但 worker 只监听默认的 celery 队列。任务被投递到 processing 队列后永远不会被消费。

复现步骤

  1. docker compose -f docker-compose.dev.yml up
  2. 两个服务都无法正常启动(问题 1、2)
  3. 即使手动修复启动问题,上传视频后处理任务不会被执行(问题 3)

修复方案

-        source venv/bin/activate &&
+        . venv/bin/activate &&
-        celery -A backend.core.celery_app worker --loglevel=debug --reload
+        celery -A backend.core.celery_app worker --loglevel=debug -Q celery,processing,video,notification,upload

修复已包含在 PR #49 中。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0