Я только что установил Celery.
Теперь я пытаюсь запустить следующий базовый c пример, содержащий два файла:
tasks.py
from celery import Celery
app = Celery('tasks', broker='amqp://localhost//')
@app.task
def add(x, y):
return x + y
runme.py
from tasks import add
add.delay(1,2)
Я также установил RabitMQ (без пользовательских конфигураций)
Я запускаю рабочий сервер сельдерея следующим образом:
celery -A tasks worker --loglevel=info
Пока все, кажется, работает для моего понимания. Celery также получает задание
Выход консоли Celery (очередь сельдерея очищается перед запуском):
-------------- celery@ATVIE6124099 v4.4.0 (cliffs)
--- ***** -----
-- ******* ---- Windows-10-10.0.17763-SP0 2020-01-29 13:12:14
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app: tasks:0x2033dea8100
- ** ---------- .> transport: amqp://guest:**@localhost:5672//
- ** ---------- .> results: disabled://
- *** --- * --- .> concurrency: 8 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
-------------- [queues]
.> celery exchange=celery(direct) key=celery
[tasks]
. tasks.add
[2020-01-29 13:12:14,688: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2020-01-29 13:12:14,740: INFO/MainProcess] mingle: searching for neighbors
[2020-01-29 13:12:15,033: INFO/SpawnPoolWorker-5] child process 7380 calling self.run()
[2020-01-29 13:12:15,066: INFO/SpawnPoolWorker-1] child process 12864 calling self.run()
[2020-01-29 13:12:15,091: INFO/SpawnPoolWorker-2] child process 3484 calling self.run()
[2020-01-29 13:12:15,105: INFO/SpawnPoolWorker-7] child process 12692 calling self.run()
[2020-01-29 13:12:15,105: INFO/SpawnPoolWorker-6] child process 14056 calling self.run()
[2020-01-29 13:12:15,105: INFO/SpawnPoolWorker-4] child process 4188 calling self.run()
[2020-01-29 13:12:15,131: INFO/SpawnPoolWorker-3] child process 5524 calling self.run()
[2020-01-29 13:12:15,161: INFO/SpawnPoolWorker-8] child process 13388 calling self.run()
[2020-01-29 13:12:15,947: INFO/MainProcess] mingle: all alone
[2020-01-29 13:12:15,964: INFO/MainProcess] celery@ATVIE6124099 ready.
[2020-01-29 13:12:25,998: INFO/MainProcess] Received task: tasks.add[f6dc4156-cdd0-48a5-ab41-d272e4cf68e8]
[2020-01-29 13:12:26,391: INFO/SpawnPoolWorker-9] child process 1296 calling self.run()
[2020-01-29 13:12:26,394: INFO/SpawnPoolWorker-12] child process 13436 calling self.run()
[2020-01-29 13:12:26,396: INFO/SpawnPoolWorker-13] child process 15020 calling self.run()
[2020-01-29 13:12:26,444: INFO/SpawnPoolWorker-11] child process 13376 calling self.run()
[2020-01-29 13:12:26,462: INFO/SpawnPoolWorker-14] child process 5572 calling self.run()
[2020-01-29 13:12:26,471: INFO/SpawnPoolWorker-10] child process 10880 calling self.run()
Проблема в том, что с этого шага больше ничего не происходит. Полученное задание никогда не выполняется и, следовательно, никогда не возвращает ничего на консоли сельдерея.
Я использую Windows10 и venv для запуска примера сельдерея, так как я хочу использовать его с Django позже. Любые идеи? Заранее спасибо!