Попытка выполнить несколько простых задач через сельдерей.Заголовок рабочего файла выглядит так:
from celery import Celery, group
from time import sleep
celery = Celery('workerprocess', broker='redis://localhost:6379/0', backend='redis://localhost:6379/0')
После прохождения заданий я пытаюсь прочитать результаты, как это.
jobresult=group(signatureList).apply_async()
while not jobresult.ready():sleep(30) #Line 6
Код отлично работает на моем рабочем столе.Конфигурация - Python 3.6.7 и 4.15.0-20-generic # 21-Ubuntu SMP.
Когда я пытаюсь запустить то же самое на моем промежуточном сервере (с рабочим узлом, работающим там же в фоновом режиме), #Line 6
выше выдает следующую ошибку.
kombu.exceptions.DecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
Судя по журналу, задача отправляется в очередь redis, выполняется правильно, но основной процесс не может выполнить какую-либо операцию с переменной jobresult для получения результатов вычислений.Я проверил, пингующий Redis-Cli, и он повторяет PONG.Конфигурация сервера (те, которые я считаю актуальными) - это Python 3.5.2 и 4.4.0-89-generic # 112-Ubuntu.
Поскольку задача уже выполняется на моем локальном рабочем столе, я полагаю, что это вопрос зависимости.Но ошибка не дает никакой подсказки о том, какие другие библиотеки мне следует устанавливать, будь то PIP или apt-get.Я посмотрел, Комбу (не знаю, что он делает, но угадайте что-то важное), и он уже установлен.Так как это решить?
Это вывод из redis-cli из комментария к вопросу.Я не уверен, что это значит, хотя.
127.0.0.1:6379> lrange celery 0 0
(empty list or set)
127.0.0.1:6379>