小编Pra*_*yan的帖子

运行时警告:您正在以超级用户权限运行工作程序:绝对不推荐这样做

我在本地使用 django+celery+redis,celery==4.4.0 它工作正常但是当我对它进行 dockerizing 时,我收到了上述错误。

我正在使用以下命令在本地和容器内运行

**CMDs**
celery -A nrn worker -l info 
docker run -d -p 6379:6379 redis
flower -A nrn --port=5555
Run Code Online (Sandbox Code Playgroud)

任何帮助都受到高度赞赏

*设置.py**

CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'

CELERY_BROKER_URL = os.environ.get('redis', 'redis://127.0.0.1:6379/')
Run Code Online (Sandbox Code Playgroud)

redis celery

14
推荐指数
1
解决办法
6091
查看次数

WSL手动安装服务还未启动

按照官方文档手动安装了 wsl ,我还启用了“适用于 Linux 的 Windows 子系统”并重新启动了多次。但是当我启动 ubuntu 时出现以下错误。我的组织不支持 Windows 商店。

在此处输入图片说明

任何帮助都受到高度赞赏。

windows-subsystem-for-linux ubuntu-18.04

8
推荐指数
1
解决办法
2026
查看次数

无法访问花

我在docker内运行flower,但是当我尝试从浏览器访问它时,它正在等待响应。

用于运行flower docker-compose的命令

celery flower -A nrn --address=0.0.0.0 --port=5555 --url-prefix=flower ,port is mapped to 5555.
Run Code Online (Sandbox Code Playgroud)

docker ps -a docker ps -a 输出 当 docker-compose 运行时,如果我立即打开花朵,仪表板就会出现,但不会响应。此外,如果我尝试打开花朵,它也不会显示仪表板。 在此输入图像描述

nginx.conf

worker_processes  1;
events {
  worker_connections  1024;
}
http {
    upstream rapid_nrn {
    ip_hash;
    server web:6500;
}
upstream rapid_nrn_dj {
    ip_hash;
    server django:8000;
}
upstream rapid_nrn_flower {
    ip_hash;
    server flower:5555;
}
server {
    listen 80;
    location ~^/flower/? {
        proxy_pass http://localhost:5555;
        rewrite ^/flower/?(.*)$ /$1 break;

        sub_filter '="/' '="/flower/';
        sub_filter_last_modified on;
        sub_filter_once off;


        proxy_set_header Host $host;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header …
Run Code Online (Sandbox Code Playgroud)

nginx celery django-celery flower docker-compose

5
推荐指数
0
解决办法
3432
查看次数

Jmespath动态设置jmespath expr

我使用 jmespath 如下

data = {
    "value": [
        {
            "datasetId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
            "id": "5b218778-e7a5-4d73-8187-f10824047715",
            "name": "SalesMarketing2",
            "webUrl": "https://app.powerbi.com/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715",
            "embedUrl": "https://app.powerbi.com/reportEmbed?reportId=5b218778-e7a5-4d73-8187-f10824047715&groupId=f089354e-8366-4e18-aea3-4cb4a3a50b48",
        },
        {
            "datasetId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
            "id": "5b218778-e7a5-4d73-8187-f10824047715",
            "name": "SalesMarketing3",
            "webUrl": "https://app.powerbi.com/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715",
            "embedUrl": "https://app.powerbi.com/reportEmbed?reportId=5b218778-e7a5-4d73-8187-f10824047715&groupId=f089354e-8366-4e18-aea3-4cb4a3a50b48",
        },
    ]
}
Run Code Online (Sandbox Code Playgroud)

并将 jmespath expr 动态设置为:

report= 'SalesMarketing3'
Run Code Online (Sandbox Code Playgroud)
jmespath.search(f"'value[?name == {report}]'", data)
Run Code Online (Sandbox Code Playgroud)

我没有得到与“SalesMarketing3”对应的字典,而是得到如下输出,我错过了什么吗?

'值[?名称== SalesMarketing3]'

非常感谢任何帮助。

jmespath

1
推荐指数
1
解决办法
177
查看次数