Цветок не может обрабатывать задачи сельдерея - PullRequest
0 голосов
/ 07 апреля 2019

На моем компьютере с Ubuntu работает сервер RabbitMQ. У меня есть Celery работник по имени simple_worker.py

# simple_worker.py
import time
from celery import Celery

# Create the app and set the broker location (RabbitMQ)
app = Celery('simple_worker',
             backend='rpc://',
             broker='pyamqp://guest@localhost//')

@app.task
def create_file():
    """ Create file if does not exist """
    with open(str(int(time.time())) + '.txt', 'a'):
        pass

Итак, я запускаю рабочий: celery -A simple_worker worker, он запускается нормально.

В оболочке Python:

from simple_worker import *
create_file.delay()

Это вызывает создание файла в текущем каталоге. Все идет нормально. Однако я не могу получить такое же поведение от flower.

Стартовый цветок: flower celery -A simple_worker Любые звонки, сделанные с помощью .delay(), просто продолжают добавляться в очередь. Это можно подтвердить, запустив команду celery и наблюдая за созданием тестовых файлов.

Дополнительно curl http://localhost:5555/api/task/types выводит {"task-types": []} и curl -X POST http://localhost:5555/api/task/async-apply/simple_worker.create_file выводит {"task-id": "05b4a52e-9ea4-4abb-8183-1ca21e96b488", "state": "PENDING"}.

Версия:

Ubuntu: 18.04
RabbitMQ: 3.6.10-1
Celery: 4.3.0
Flower: 0.9.3

Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...