我刚开始学习芹菜,我一直在学习西芹,我的芹菜安装与码头有关,我在发送和执行芹菜任务时遇到了问题。
所以有4个码头集装箱,一个用于兔子服务器,一个用于芹菜生产服务器和2个工人。
芹菜任务档案:
"""
CELERY MAIN FILE
"""
from celery import Celery
from time import sleep
celery_obj = Celery()
celery_obj.config_from_object('celery_config') #config file we created in
下面的代码是与
# For flask
gunicorn --bind 0.0.0.0:5000 project:app --access-logfile -
# For celery worker
celery -A project.celery worker --loglevel=info
同时引用同一个文件(下面)
import os
import time
import threading
from flask import (
Flask,
jsonify,
)
from flask_sqlalchemy import SQLAlchemy
from greenle
我正在使用supervisor启动celery.I。我不断收到此警告
[2020-04-14 21:59:08,477: WARNING/MainProcess] /home/datasleek/trackervenv/lib/python3.6/site-packages/kombu/pidbox.py:71: UserWarning: A node named worker1@%dev-tracker is already using this process mailbox!
Maybe you forgot to shutdown the other node or did not
我正在设置rabbitmq集群,并且在这个过程中的一个步骤中遇到了一个问题。它直接来自rabbitmq集群指南。
root@celery:~# rabbitmqctl status
Status of node celery@celery ...
[{pid,20410},
{running_applications,[{rabbit,"RabbitMQ","2.5.1"},
{os_mon,"CPO CXC 138 46","2.2.4"},
我需要配置队列芹菜应该将任务执行的结果放入其中,我使用这种方式作为 (项目"reply_to"):
@app.task(reply_to='export_task') # <= configured right way
def test_func():
return "here is result of task"
期望行为
任务结果应该在队列中,名为"export_task“(在装饰器中配置)
实际行为
任务结果位于名为: d5587446-0149-3133-a3ed-d9a297d52a96的队列中。
芹菜报告:
我正在用FLASK做一个应用程序,我已经把芹菜加入其中了。但是,如果我想让芹菜工人也工作,我必须通过终端运行应用程序。(celery -A app.celery worker)。我尝试从主run.py文件运行它,如下所示
init.py
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.mail import Mail
from celery import Celery
from kombu import serialization
app = Flask(__name__)
我想为芹菜工人加载不同的配置,这取决于我要初始化的队列。特别是,我想改变它的并发性。
我已经看到,如果在配置中加载并发性,则可以更改并发性。例如,如果我这样做:
celery_app = current_celery_app
# myconfig is a py file with all configuration, including concurrency
celery_app.config_from_object(myconfig, namespace='CELERY')
然后我发现我可以请求信号,比如:
@celeryd_init.connect
def config
可以在芹菜守护进程中添加鲜花吗?
下面是我的celery配置文件,我尝试将flower配置添加到CELERYD_OPTS变量中,但失败了。
或者,有没有其他命令可以添加到配置文件中,让flower启动并运行celery?
# Names of nodes to start
# most people will only start one node:
CELERYD_NODES="worker1"
# but you can also start multiple and configure settings
# for each in CELERYD_OPTS
#
我尝试了很多东西,搜索了很多问题,但我的问题仍然没有解决。
我使用的是docker-compose、python celery和rabbitmq,没有任何其他的flask或django框架。
我尝试了许多方法来配置芹菜工作者池,我发现只有一个函数可以工作,但是我不能用gui实例运行它,并且在芹菜图像中使用它也不起作用,app.control.grow_pool。
我不是用celery命令启动celery,而是用python文件。
# my_celery_app.py
from __future__ import absolute_import, unicode_literals
from ce
在airflow 2.1.3上,查看命令行界面airflow celery -h的文档
它显示:
-H CELERY_HOSTNAME, --celery-hostname CELERY_HOSTNAME
Set the hostname of celery worker if you have multiple workers on a single machine
我熟悉芹菜,我知道你可以在同一台机器上运行多个工人。但是对于Airflow (和芹菜执行器),我不知道如何做到这一点。
如果需要,请在同一台计算机上执行以下操作:
> air
芹菜工人突然无法工作,并显示错误消息,说明未知选项-A。我在python的虚拟环境中的windows上运行celery 5.0.0。该命令为 pipenv run celery worker -A <celery_file> -l info 错误信息如下: Usage: celery worker [OPTIONS]
Try 'celery worker --help' for help.
Error: no such option: -A 请让我知道为什么会发生这个错误,因为我找不到原因。
我正在尝试用下面的命令启动windows7中的celery worker
celery worker -A routes.celery --loglevel=info
上述命令的结果为
c:\users\xxxxx\appdata\local\continuum\anaconda2\python.exe: can't open file 'C:\Users\xxxxx\AppData\Local\Continuum\Anaconda2\Scripts\celery': [Errno 2] No such file or directory
命令"celery“是
我正在设置我的django生产项目,以便在ubuntu服务器上使用芹菜。当我用celery -A project worker -l INFO手动运行任务时,它可以正常工作。
但每次我设置并运行系统都会停止。下面的配置设置。
/etc/default/celeryd
# most people will only start one node:
CELERYD_NODES="worker1"
# but you can also start multiple and configure settings
# for each in CELERYD_OPTS
#CEL