Интегрируйте колбу с Faust
Я пытаюсь заставить агента faust отправить сообщение в виде / конечной точке фляги, я не могу найти ни одного примера, и я действительно изо всех сил.
Кто-нибудь пробовал это успешно? в документах говорится, что нужно использовать gevent или eventlet в качестве моста к asyncio, но я не могу понять, как, к сожалению,
1 ответ
Вы можете попробовать monkeypatch
Ваше приложение для колб с Gevent или Eventlet. Насколько я знаю, eventlet - единственный, который в настоящее время работает, так как мост aiogevent больше не доступен в pip.
Другой подход состоит в том, чтобы делегировать ваше приложение Flask для создания сообщений только с pykafka или kafka -python. Таким образом, вы будете держать оба приложения изолированными, колбу и мусор. Обратите внимание, что по умолчанию faust будет пытаться создавать темы без internal
флаг с 1 репликой и внутренними темами с 8 репликами.
В документации faust есть предложение по интеграции flask и faust. Это предполагает использованиеgevent
, но я не считаю, что это требует исправления обезьян.
Из документов (https://faust.readthedocs.io/en/latest/faq.html):
This approach works with any blocking Python library that can work with gevent.
Using gevent requires you to install the aiogevent module, and you can install this as a bundle with Faust:
$ pip install -U faust[gevent]
Then to actually use gevent as the event loop you have to either use the -L option to the faust program:
$ faust -L gevent -A myproj worker -l info
or add import mode.loop.gevent at the top of your entry point script:
#!/usr/bin/env python3
import mode.loop.gevent
REMEMBER: It’s very important that this is at the very top of the module, and that it executes before you import libraries.