Producer:任务发布者;
Celery Beat:任务调度器,Beat进程会读取配置文件中的内容,周期性的将配置中到期需要执行的任务发送给任务队列;
Broker:消息代理,接受生产者的任务消息,存进队列后发送给消费者;
Celery Worker:执行任务的消费者;
Result Backend:保存消费者执行任务完后的结果;
如下图:

整体的流程,任务发布者或者是任务调度,将任务发送到消息代理中,接着消息代理将任务发送给消费者来执行,其执行完后将结果保存到backend中。
task.py如下
Celery
app = Celery('tasks', backend='amqp', broker='amqp://guest@localhost:5672//')
@app.task
def add(x, y):
return x + y