首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动VS代码来调试Redis队列工作器

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

Stack Overflow用户
提问于 2021-12-12 18:36:15
回答 1查看 320关注 0票数 1

我试图在VS代码上创建一个启动配置,以便调试Redis队列后台工作人员。

现有的launch.js包含:

代码语言:javascript
复制
{
    "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队列工作者的命令如下:

代码语言:javascript
复制
cd /home/user/api/src/app
source env/bin/activate
rq worker --url redis://localhost:2179

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

到目前为止,我的结论是:

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

这给了我以下错误:

代码语言:javascript
复制
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/api/src/app/rq'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 17:58:25

公认的答案是误导性的。对于使用vscode调试烧瓶的rq,我也遇到了类似的问题。除了这个被接受的答案之外,我没有在网上找到任何关于这个问题的答案。我想出的解决方案非常简单,一旦您了解了launch.json

代码语言:javascript
复制
{
    "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的集成终端,我将其配置为源虚拟env (.venv),然后启动rq (提供完整的路径)。YOu可以使用“哪个rq”来查找您的路径),在args中使用"worker jobs=1“来只对一个任务进行队列化!

多亏了这个烧瓶,我的断点在我的烧瓶代码的异步部分上停止了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70326556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档