首页 文章

了解芹菜 Worker 节点

提问于
浏览
0

我想在这里了解芹菜和AMQP的工作情况 .

我的情景

I install celery in my machine

pip安装芹菜

I make tasks using

from celery import Celery

app = Celery('tasks', backend='amqp', broker='amqp://')

@app.task
def print_hello():
    print 'hello there'

据我所知,芹菜将此任务转换为消息并通过AMQP协议发送给经纪人(redis或rabbitmq) . 然后将这些消息排队并传递给工作节点以处理该消息 .

My questions are,

  • 假设我在Java环境中创建了任务,如果将消息发送到外部工作节点,是否意味着工作节点服务器必须在其中安装Java才能执行任务?

  • 如果外部工作线程节点选择了该消息,则工作节点和代理如何找到对方?在上面的代码中,我只有代理地址来存储任务 .

另外,为什么我们将任务存储在经纪人中?为什么我们不能在芹菜中实施交换算法并将消息直接发送给 Worker ?

SOAP和AMQP有什么区别?

1 回答

  • 1

    工作人员不仅需要Python,还需要您想要在其上运行的任务的所有代码 .

    但是你没有专门针对节点,这正是为什么有一个经纪人 . 您将任务放在队列中,然后工作人员将其拾起 .

    我不知道为什么你在这个上下文中提到过SOAP . 它与任何事情无关 .

相关问题