Beginnen Sie mit Docker als Nachrichtenbroker. Verwenden Sie RabbitMQ und schreiben Sie bis zu dem Punkt, an dem ein einfaches Programm mit Sellerie funktioniert.
Der Inhalt ist fast der gleiche wie das offizielle Dokument, aber ich habe ihn geändert, um Docker's Rabbit MQ zu verwenden.
RabbitMQ
#Anlaufen
docker run --rm -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 8080:15672 rabbitmq:3-management
#Halt
docker stop rabbitmq
Der von 5672 verwendete Port. Der 8080 (15672) -Port ist ein Verwaltungsbildschirm, der im Browser angezeigt werden kann. (Diesmal muss es nicht sein)
pip install celery
Version 4.4.2 wurde installiert.
tasks.py
from celery import Celery
app = Celery('tasks', backend='amqp', broker='amqp://guest:[email protected]:5672')
@app.task
def add(x, y):
return x + y
Erstellen Sie es mit dem Namen task.py
.
Lauf, wenn du bereit bist.
celery -A tasks worker --loglevel=info
>>> r = add.delay(4,4)
>>> r
<AsyncResult: 8a80f867-c2f4-47f6-b431-665c624f0ec2>
>>> r.ready()
True
>>> r.get()
8
Ich konnte bestätigen, dass es funktionierte.
Recommended Posts