Как стать автором
Обновить

Комментарии 22

сколько миллисекунд в секунде?)
точно, надо поправить на сантисекунды
Мотор до сих пор не умеет третью монгу и «async for». Печаль…

Upd: прочитал пост. Когда я смотрел, «async for» не умел.
Уточню, не умеет с PyMongo3 с Mongodb3 вроде PyMongo2.8 работал.
С PyMongo3 подружить Motor обещают к весне.
Нет, pymongo2 с mognodb3 работет очень странно и не всегда предстказуемо. Например, любит тупо виснуть, блокируя приложение.
Так что надо апгрейдить мотор. Если никто не займётся, через месяцок займусь сам…
Ну ближайший месяц точно никто не займется, ближайший месяц разве что motor0.5 стабильную версию выпустят.
А как вы смотрите на то, что он пытается «замесить» asyncio с greenlet?
Отрицательно. Не вижу ни малейшего практического смысла мешать ежа с ужом.
Если он есть, то буду рад про него узнать… :-)
И я так считаю, надо будет спросить автора Motor.
Наверно он использует гринлеты, что-бы не переписывать весь pymongo.
Я, если честно, не копал мотор так глубоко. Количество магии там за гранью моего понимания… Но в любом случае, это сейчас самая полная и стабильная библиотека для асинхронной работы с монгой. Пробовал оценить, сколько времени надо на то, чтобы написать свою и что-то у меня много выходило.
Сам работаю с Python, но каждый раз, когда вижу различные асинхронные штуки на нём, в голове невольно возникает фраза «Тулить горбатого к стене».
Вполне возможно, но многим все таки это помогает, мне например очень понравился aiohttp написанный поверх asyncio, это очень удобно когда фреймворк умеет примерно все то же самое что flask но с вебсокетами и причем использовать их с ним очень удобно.

Вот к примеру, сегодня буквально попалось, тем кто работает с blender тоже asyncio пригодился.
Согласен. Очень радует, что язык растёт и развивается. Возможно, в версии 4 мы сможем увидеть и более красивый, «причесанный» вариант работы с асинхронностью.
Ну замечательно. Что всё таки дает asyncio против Tornado?
Где-то видел слайды с доклада, в которых разработчик уверял, что добился почти такой же производительности, как в tornado. Только без подключаемых библиотек на си. Но не берусь утверждать — сам не проверял.
Поддержка не от разработчиков Торнадо, а от сообщества Python. Ну и вроде фишек в нём по больше будет. Собственно Торнадо умеет работать с asyncio.
Мг, а это хорошо, хорошо.
Asyncio был создан как «стандарт», т.к. существующие асинхронные фреймворки (tornado, twisted, pulsar, cyclone.io...) как-бы «разрывают» питон на сегменты — сообщество тратят кучу ресурсов на дублирующие проекты, например — вместо того что-бы развивать один клиент MongoDB, разработчики пилят версию для tornado (asyncmongo) и отдельно версию для twisted (txmongo), можно было-бы вложится в один клиент для psql/websockets и др. но разработчики «вынуждены» пилить «клон» под свой фреймворк.

Теперь, с asyncio достаточно развивать только одну версию библиотек, т.к. все фреймворки которые совместимы с asyncio смогут (есть шанс) использовать весь набор асинхронных библиотек. В итоге это повышает эффективность разработки python проектов.

Ну и естественно в этот «стандарт» asyncio, было вложено куча работы, что-бы покрывать множество запросов разных фреймворков.
А на оригинал статьи, с которой приводится вольный перевод давать не принято? Или я не вижу просто?
А, всё, действительно, не заметил. Спасибо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации