gpt4 book ai didi

docker - 与docker内部的celery交谈

转载 作者:行者123 更新时间:2023-12-02 19:45:40 30 4
gpt4 key购买 nike

我在docker中运行celery-worker和celery-beat。
当我执行celery logs -f celery-worker时,我可以看到 celery 已经启动并正在运行
现在,我想向工作人员发送一些任务(出于测试目的)。
似乎有两种方法可以做到这一点(How can I run a celery periodic task from the shell manually?)
使用django shell并使用celery命令本身
我在docker中没有manage.py,所以我使用了celery命令
但是,所有的celery命令(包括celery inspect registered)都挂起了,什么也没给我。
如何将任务发送到在docker中运行的celery?

最佳答案

我认为它挂起是因为您无法连接到代理。
在运行CELERY_BROKER_URL命令之前,需要将celery环境变量设置为正确的url。
如果您使用的是docker compose,则应大致具有类似于以下内容的代理服务:

  broker:
container_name: broker
image: redis:6.0
ports:
- 6379:6379
volumes:
- ./volumes/redis_data:/data
基本上,我们可以使用localhost:6379从主机连接到代理。
因此,在终端中,您可以设置以下环境变量
$ export CELERY_BROKER_URL=redis://localhost:6379/0
并且celery命令现在应该返回结果。

关于docker - 与docker内部的celery交谈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63434879/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com