Tag:

如何在气stream中重新启动芹菜工人

我目前遇到一个问题,我的芹菜工人偶尔冻结,需要重新启动。 我有一个Airflow的实例,我想使用BashOperator或SSHOperator来configuration和重新启动,但是我不确定如何继续,因为它在Docker容器中。 从本地主机我只是“docker重启工人”,但由于Bash在气stream容器内运行,我需要find一种方法来重新启动通过气streamCLI或SSH从容器到主机,这听起来可怕。 有没有一个优雅的方法来处理这个问题? 编辑:我看到花有一个REST API,我可以重新启动池,但我必须在我的芹菜configuration启用。 它看起来像气stream设置已经configuration ,有没有什么办法来覆盖这个?

Flush Flower数据库偶尔和/或从Docker优雅退出?

我在Docker中运行芹菜花(查看这个问题的细节)。 该命令最终是: celery -A proj flower –persistent=True –db=/flower/flower 我有一个持续的音量设置/flower 。 但是,看起来像Flower从不会将任何内容写入数据库文件,即使正常运行时间超过30分钟(在此期间处理大约120个任务): -rw-r–r– 1 user user 0 Mar 11 00:08 flower.bak -rw-r–r– 1 user user 0 Mar 10 23:29 flower.dat -rw-r–r– 1 user user 0 Mar 11 00:08 flower.dir 正常地停止Docker容器不起作用,所以Docker强行杀死了它,这意味着没有任何事情会被写入数据库,所以就像没有任何东西被持久化一样。 有没有办法让花偶尔刷新它的数据库,或者,更好的是,优雅地退出?

不以root身份运行时从容器访问命名卷?

我在Docker Compose下运行Celery。 我想使芹菜的花持久。 所以我这样做: version: '2' volumes: […] flower_data: {} […] flower: image: [base code image] ports: – "5555:5555" volumes: – flower_data:/flower command: celery -A proj flower –port=5555 –persistent=True –db=/flower/flower 但是,那么我得到: IOError: [Errno 13] Permission denied: 'flower.dat' 我跑了以下来解释为什么: bash -c "ls -al /flower; whoami; celery -A proj flower –persistent=True –db=/flower/flower" 这就说明了为什么: flower_1 | drwxr-xr-x 3 […]

如何在没有-A选项的情况下运行芹菜状态/花?

考虑这个bash会话: $ export DJANGO_SETTINGS_MODULE=web.settings $ celery status -b redis://redis.businessoptics.dev:6379/1 -t 10 Error: No nodes replied within time constraint. $ celery status -b redis://redis.businessoptics.dev:6379/1 -t 10 -A scaffold.tasks.celery_app celery@worker.9e2c39a1c42c: OK 为什么我需要-A选项? 据我所知,芹菜应该能够检测到redis上必要的元数据。 同样,如果我运行celery flower -b <redis url>它会显示它已成功连接到redis,但不显示任何真正的工人/任务/队列,并显示'stats' inspect method failed等几条消息。 再次,join-A导致它工作。 我想在不包含任何代码或其依赖关系的最小独立Docker容器中运行花。 像这样的一些回购就提供了这种东西。 那我该怎么做呢? 链接回购提供了许多选项,但没有办法指定-A选项,这表明这是没有必要的。 我是一个芹菜初学者,所以我可能会错过一些愚蠢的东西。 我应该做些什么? scaffold.tasks.celery_app模块看起来像这样: from celery import Celery from django.conf import settings […]