Comments 12
Вы же сюда пришли и за критикой в том числе, верно?
Предлагаю сильно поменять roadmap:
1. Понять зачем это вообще нужно.
Серьезно. И дело даже не в том, что это очередной фреймворк, который никому особо не нужен, т.к. ничего нового не несет. А не несет он по двум причинам: asyncio почти не используется; asyncio используется неправильно.
Почему почти не используется? Потому что вы в конфиге размещаетесь за асинхронным nginx'ом и за асинхронным gunicorn'ом (worker_class=gevent).
Почему используется неправильно?
github.com/alikzao/tao1/blob/master/tao1/core/core.py#L34
github.com/alikzao/tao1/blob/master/tao1/core/core.py#L40
Две совершенно ненужных корутины. asyncio нужно использовать в тех местах, где может быть задержка — I/O, работа с сетью и прочее. Использовать ее в поиске по словарю — довольно странная затея.
2. Исходный код.
Он, мягко говоря, хромает. Куча закомментированных строк, полное несоответствие PEP8
Просите версию 3.4, а сравниваете с 3.3. И кстати, данный метод сравнения версий может принести много сюрпризов, если версия питона изменится с 3.9 на 3.10.
github.com/alikzao/tao1/blob/master/tao1/core/utils_.py#L2
Везде в файлах встречаются подобные строки. Они не нужны, если у вас питоной третьей версии, потому что стандартная кодировка для Python3 — UTF-8.
Первая строчка (
В общем, вы уж извините, но все это выглядит так, как будто вы делаете что-то, но не знаете что именно и зачем.
Предлагаю сильно поменять roadmap:
1. Понять зачем это вообще нужно.
Серьезно. И дело даже не в том, что это очередной фреймворк, который никому особо не нужен, т.к. ничего нового не несет. А не несет он по двум причинам: asyncio почти не используется; asyncio используется неправильно.
Почему почти не используется? Потому что вы в конфиге размещаетесь за асинхронным nginx'ом и за асинхронным gunicorn'ом (worker_class=gevent).
Почему используется неправильно?
github.com/alikzao/tao1/blob/master/tao1/core/core.py#L34
github.com/alikzao/tao1/blob/master/tao1/core/core.py#L40
Две совершенно ненужных корутины. asyncio нужно использовать в тех местах, где может быть задержка — I/O, работа с сетью и прочее. Использовать ее в поиске по словарю — довольно странная затея.
2. Исходный код.
Он, мягко говоря, хромает. Куча закомментированных строк, полное несоответствие PEP8
assert sys.version >= '3.3', 'Please use Python 3.4 or higher.'
Просите версию 3.4, а сравниваете с 3.3. И кстати, данный метод сравнения версий может принести много сюрпризов, если версия питона изменится с 3.9 на 3.10.
github.com/alikzao/tao1/blob/master/tao1/core/utils_.py#L2
Везде в файлах встречаются подобные строки. Они не нужны, если у вас питоной третьей версии, потому что стандартная кодировка для Python3 — UTF-8.
Первая строчка (
#!/usr/bin/env python
) тоже не выглядит особо нужной. Вы же не делаете все файлы исполняемыми по умолчанию?В общем, вы уж извините, но все это выглядит так, как будто вы делаете что-то, но не знаете что именно и зачем.
+8
Конструктивная везде приветствуется.
>>> это очередной фреймворк, который никому особо не нужен, т.к. ничего нового не несет.
Им пользоваться никто не заставляет. И я написал что это не над
В публикации я написал что мне понравился
>>> asyncio почти не используется
Я не предлагаю использовать низкоуровневый
По поводу
Закомментированные строчки для альфа версии это нормально, тем более их не так и много.
>>> это очередной фреймворк, который никому особо не нужен, т.к. ничего нового не несет.
Им пользоваться никто не заставляет. И я написал что это не над
asynio
обертка, а над aiohttp
, но мне для него захотелось модульную структуру к которой я привык.В публикации я написал что мне понравился
aiohttp
, а те фреймворки которые для него существуют меня не до конца устраивают и они тоже в основном находятся на начальной стадии своего развития. >>> asyncio почти не используется
Я не предлагаю использовать низкоуровневый
asyncio
, чтоб этого не делать был написан aiohttp
. По поводу
# coding: utf-8
это старый атавизм, торопился и просто забыл его везде удалить.Закомментированные строчки для альфа версии это нормально, тем более их не так и много.
0
Пилите-пилите, хе-хе :)
Из aiohttp то Flask пытаются сделать, то Django — и то и другое, думаю, зря. Разве что как эксперимент, чтобы поучиться писать.
Хотя сами попытки подтверждают, что библиотека получилась довольно удачная — можно крутить так и эдак.
Из aiohttp то Flask пытаются сделать, то Django — и то и другое, думаю, зря. Разве что как эксперимент, чтобы поучиться писать.
Хотя сами попытки подтверждают, что библиотека получилась довольно удачная — можно крутить так и эдак.
+2
В motor кстати, поддержку asyncio смержили, уже месяца два юзаю, полёт нормальный :)
+1
Как так два месяца если этот мой Pull Request был закончен только месяц назад? 8-)
+1
Ааа, так на тот момент оно работало меньше чем наполовину.
Правильный PR здесь: github.com/mongodb/motor/pull/20
Правильный PR здесь: github.com/mongodb/motor/pull/20
+1
Sign up to leave a comment.
Написание framework на asyncio, aiohttp и мысли про Python3 часть первая