
Andrey
26.10.2016
21:09:57
так ты предлагаешь 80% сервиса переписать?

Vyacheslav
26.10.2016
21:10:14

Andrey
26.10.2016
21:11:43
два вопроса. может ли асинхронная функция вызывать синхронную? может ли синхронная функция вызывать асинхронную?

Google

Vyacheslav
26.10.2016
21:11:52
И написать http клиент для торнадо прямо скажем не рокетсаенс

Andrey
26.10.2016
21:13:10
ну и чем синхронная функция отличается от асинхронной
это все в контексте кооперативной многозадачности, как в торнаде, гевенте, твистеде, и всем таком

Vyacheslav
26.10.2016
21:16:19
Да нет друг gevent и торнадо/твистед/python3 с asyncio и etc генераторные ветвление стека это вообще не рядом.
А ты то себе наверное голову ломаешь как же алхимия же про генераторы и колбеки не знает как же оно заработает, да?

Serge
26.10.2016
21:17:39
Щас нас расскажут...
Оба правы ведь

Vyacheslav
26.10.2016
21:18:20
Так вот ты почитай локи там примеры, а потом говори. Честное слово, детский сад.

Serge
26.10.2016
21:18:22
Может помочь унести в отдельный сервис работу с базой и ходить к нему по хттп или даже не по хттп
Но!
Это надо же человеку, который в базу ходит sqlalchemy-ей, написать драйвер такой
Ну и накладных расходов увеличится
Я правильно понимаю, что предложение состоит в том, чтобы подложить свой протокол до своего сервиса, которым обернуть SQL и еще всё это обернуть в http?

Google

Vyacheslav
26.10.2016
21:21:37
Зачем драйвер то? Прям код который сейчас у него в торнадо используется (а ведь от синхронный со слов) уносишь целиком в сервис а вместо него зовёшь этот новый сервис по http

Serge
26.10.2016
21:21:51
Там только на хттп уйдет мама не горюй, плюс соединения устанавливать ..

Vyacheslav
26.10.2016
21:22:10
Ну если мало http бери любой бинарный протокол

Serge
26.10.2016
21:22:13
Там торнадо, SQL alchemy , драйвер базы
В каком месте резать?

Vyacheslav
26.10.2016
21:23:30
Ну наверняка весь код работы с базой локализован в какой то интерфейс

Serge
26.10.2016
21:23:32
Я бы драйвер свой подложил

Vyacheslav
26.10.2016
21:23:47
Драйвер можно но сложнее
Ну нет, это же просто Орм, неужели нет чего из бизнеслеера
Наверняка есиь

Serge
26.10.2016
21:25:15
Ну, вот, в общем случае, мы не знаем
Я к чему веду...
Как бы, при наличии торнадовского драйвера, проблемы нет
Всё остальное будет велосипедизмом

Vyacheslav
26.10.2016
21:26:25
Если просто Орм рассыпан по обработчикам запросов то там все сложнее.

Serge
26.10.2016
21:26:33
Не трогая архитектуру приложения

Roman
26.10.2016
21:26:44
Слушайте, что сподвигло втащить в питон эти самые yield from/coroutine вместо той модели что у Go/gevent?

Serge
26.10.2016
21:26:48

Google

Andrey
26.10.2016
21:27:12
а зачем орм еще во что-то оборачивать? он же и сделан для того чтобы удобными объектами пользоваться

Serge
26.10.2016
21:27:14
Рома, ты же вроде в курсе что gevent с питоном делает:)

Zart
26.10.2016
21:28:08

Serge
26.10.2016
21:28:15

Roman
26.10.2016
21:28:57

Vyacheslav
26.10.2016
21:29:40

Roman
26.10.2016
21:30:15

Vyacheslav
26.10.2016
21:30:35
С gevent все просто, это неявно и недетерминировано. Гвидо про это кстати писал

Roman
26.10.2016
21:30:41

Zart
26.10.2016
21:31:02
т.е. утечки памяти в го тебя ни капли не смущают?

Roman
26.10.2016
21:31:31

Roman
26.10.2016
21:32:05

Vyacheslav
26.10.2016
21:32:05

Zart
26.10.2016
21:32:25
э

Andrey
26.10.2016
21:32:45
чувак, ты уже заебал с наездами

Serge
26.10.2016
21:33:06

Vyacheslav
26.10.2016
21:33:37

Serge
26.10.2016
21:34:20
Тихо девочки, не ссорьтесь

Google

Andrey
26.10.2016
21:34:35
то есть ты считаешь, что твое решение это не плохо продуманный велосипед?

Zart
26.10.2016
21:34:37

Serge
26.10.2016
21:34:49
А то у меня банхаммер двусторонний

Andrey
26.10.2016
21:35:13
я если что, критиковал не тебя, а твое решение. это немножко разные вещи

Roman
26.10.2016
21:35:35

Serge
26.10.2016
21:35:41
В Go я легко могу найти откуда течёт. В Питоне если потекло, то поди найди

Zart
26.10.2016
21:35:45
вообще у меня ощущение что товарищу с исходной торнадо проблемой возможно поможет трёхзвенка. но гадать без замеров один хрен бессмысленно

Serge
26.10.2016
21:36:15

Vyacheslav
26.10.2016
21:36:26

Admin
ERROR: S client not available

Serge
26.10.2016
21:36:26
Блин, извините, мне так нельзя

Zart
26.10.2016
21:36:29
Так какие мемлики в го?
я про эти слайды - https://docs.google.com/presentation/d/1LO_WI3N-3p2Wp9PDWyv5B6EGFZ8XTOTNJ7Hd40WOUHo/mobilepresent?pli=1#slide=id.g70b0035b2_1_99

Serge
26.10.2016
21:36:32
Прошу прощения

Andrey
26.10.2016
21:36:37

Roman
26.10.2016
21:36:53

Serge
26.10.2016
21:37:06

Zart
26.10.2016
21:37:08

Andrey
26.10.2016
21:37:25

Serge
26.10.2016
21:38:16

Google

Zart
26.10.2016
21:38:23

Andrey
26.10.2016
21:38:57

Serge
26.10.2016
21:39:26

Vyacheslav
26.10.2016
21:39:43
А ей не пох?
Ну как она управление вернет даже если внизу асинхронный драйвер. Или есть алхимия на генераторах и я чего-то не знаю?

Serge
26.10.2016
21:41:13
С другой стороны...

Vyacheslav
26.10.2016
21:42:13
А результат как получить ?:)

Zart
26.10.2016
21:42:15
потом в ответ гигабайтный роусет прилетает

Serge
26.10.2016
21:42:17
Там получается синхронный вызов...

Vyacheslav
26.10.2016
21:42:39
:) ну типа да

Andrey
26.10.2016
21:42:57
в общем тредпул решает

Vyacheslav
26.10.2016
21:43:04
Поэтому я не понимаю что предлагается

Zart
26.10.2016
21:43:37
от всех этих прослоек сама субд волшебно не изменится никак
мускль внутри на тредах нынче

Vyacheslav
26.10.2016
21:44:01
И багом в многопоточном коде тем с пулом :)

Serge
26.10.2016
21:44:36
http://stackoverflow.com/questions/16491564/how-to-make-sqlalchemy-in-tornado-to-be-async

Andrey
26.10.2016
21:45:20

Vyacheslav
26.10.2016
21:45:26

Serge
26.10.2016
21:45:49