Сельдерей Торнадо не может использовать gen.Task или CallBack

class AsyncHandler(tornado.web.RequestHandler): @tornado.web.asynchronous def get(self): tasks.sleep.apply_async(args=[5], callback=self.on_result) def on_result(self, response): self.write(str(response.result)) self.finish() 

ошибка повышения:

  raise TypeError(repr(o) + " is not JSON serializable") TypeError: <bound method AsyncHandler.on_result of <__main__.AsyncHandler object at 0x10e7a19d0>> is not JSON serializable 

Брокер и бэкэнд используют redis, я просто скопировал его с https://github.com/mher/tornado-celery

Когда я использую брокер amqp broker и redis, он работает хорошо, но не при использовании брокера redis. Это потому, что асинхронный торнадо не поддерживает redis broker?

One Solution collect form web for “Сельдерей Торнадо не может использовать gen.Task или CallBack”

Док говорит:

ПРИМЕЧАНИЕ. В настоящее время обратные вызовы работают только с AMQP и Redis. Чтобы использовать резервный сервер Redis, вы должны установить торнадо-redis.

Таким образом, торнадо-сельдерей не поддерживает redis в качестве брокера … он работает, когда я использую rabbitmq в качестве брокера + redis в качестве бэкэнд.

  • Twisted: почему это означает, что передача отложенного обратного вызова к отложенному потоку заставляет поток блокировать внезапно?
  • redis.exceptions.ConnectionError: Ошибка -2 подключение к localhost: 6379. Имя или услуга неизвестны
  • Динамическая сортировка с помощью Redis
  • Как я могу отслеживать / исправлять утечку памяти в торнадо-redis с использованием пимплера?
  • Как / где хранить временные файлы и журналы для облачного приложения?
  • Как я могу использовать Tornado и Redis асинхронно?
  • Что такое хорошая стратегия группировки похожих слов?
  • Получение всех идентификаторов задач из вложенных цепочек и аккордов
  • Как правильно использовать пулы соединений в redis?
  • Ошибка сельдерея: time.get time out
  • Django-RQ: Как вызвать функцию?
  • Python - лучший язык программирования в мире.