如何在使用 python、flask、docker 和 docker compose 时使用 celery rdb?

问题描述 投票:0回答:1

我在项目中使用 python、flask、celery、docker 和 docker compose,并想使用 celery rdb 来调试我的任务。我无法使用 telnet 从本地计算机连接到 celery 容器到 docker 容器。

python docker debugging docker-compose celery
1个回答
0
投票

我找不到简单的方法来做到这一点。最后我得到了以下结果:

  1. 将 telnet 安装到 celery 容器中(添加以下 Dockerfile)
# install system dependencies
RUN apt-get update && apt-get install -y telnet
  1. 触发celery任务。你会看到这样的日志输出: 远程调试器:6900:准备连接:telnet 127.0.0.1 6900
  2. 进入另一个航站楼的芹菜容器
docker compose exec my_celery bash
  1. 运行telnet命令
root@fc4dcaa378xy:/usr/src/app# telnet 0.0.0.0 6900
    Trying 0.0.0.0...
    Connected to 0.0.0.0.
    Escape character is '^]'.
    > /usr/src/app/api/tasks.py(55)my_task()
    -> scraper_res = myfunc(url, *args, **kwargs)
    (Pdb) pp locals()
© www.soinside.com 2019 - 2024. All rights reserved.