启动 VS 代码以调试 Redis 队列工作器

VS code launch to debug a Redis Queue Worker

我正在尝试在 VS 代码上创建启动配置,以便我可以调试 Redis 队列后台工作程序。

现有launch.js包含:

{
    "version": "0.2.0",
    "configurations": [

        {
            "name": "API",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/src/app/run.py",
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}/src/app"
        }
    ]
}

从常规 bash 终端启动 Redis 队列工作器的命令是:

cd /home/user/api/src/app
source env/bin/activate
rq worker --url redis://localhost:2179

什么是正确的 launch.js 配置,以便我可以使用 VS 代码启动和调试 Redis 队列工作程序?

截至目前,我得出以下结果:

{
    "name": "Redis Queue Worker",
    "type": "python",
    "request": "launch",
    "program": "rq",
    "console": "integratedTerminal",
    "cwd": "${workspaceFolder}/src/app",
    "args": ["worker", "--url", "redis://localhost:2179"]
}

这给了我以下错误:

FileNotFoundError: [Errno 2] No such file or directory: '/home/user/api/src/app/rq'

已接受的答案具有误导性。 我在使用 vscode 调试 flask 的 rq 时遇到了类似的问题。 除了这个已接受的答案外,我没有在互联网上找到这个问题的任何答案。 我想出的解决方案非常简单,一旦你理解了 launch.json

{
    "configurations": [
        {
            "name": "rq worker",
            "request": "launch",
            "type": "python",
            "program": "${workspaceFolder}/.venv/bin/rq",
            "args": [
                "worker",
                "--max-jobs=1"
            ],
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}/src",
        },
    ],
    "version": "0.2.0"
}

它只是使用 vscode 的集成终端,我配置它来获取我的虚拟环境 (.venv) 然后它启动 rq(提供完整路径。你可以使用“which rq”来找到你的路径)和参数“worker --max-jobs=1”来取消排队只有一个任务!

感谢这个烧瓶确实在我的烧瓶代码的异步部分的断点处停止了