@spbpython

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

Vyacheslav
26.10.2016
21:10:14
внизу может быть асинхронный сокет. но если поверх него синхронный драйвер, то он будет ждать
Чувак почитай что такое gevent про шедулинг gevent-a и как это работает, ощущение что ты говоришь о том чего не понимаешь ну совсем

так ты предлагаешь 80% сервиса переписать?
Скопировать код который делает запросы в базе я думаю по силам отчикрыжить.

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 бери любой бинарный протокол

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

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?

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

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

Vyacheslav
26.10.2016
21:29:40
Вариант ответа: потому что gevent уже есть
Торнадовский драйвер для mysql не смотрел, но как с ним алхимия?

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

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

Roman
26.10.2016
21:31:31
С gevent все просто, это неявно и недетерминировано. Гвидо про это кстати писал
Ну за то руками воевать с явной асинхронность проще, да? :)

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
чувак, ты уже заебал с наездами

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
вообще у меня ощущение что товарищу с исходной торнадо проблемой возможно поможет трёхзвенка. но гадать без замеров один хрен бессмысленно

Vyacheslav
26.10.2016
21:36:26
я если что, критиковал не тебя, а твое решение. это немножко разные вещи
1. Если критика начинается со слова говно это норм когда оно по делу, а когда ты даже не понимаешь о чем говоришь но говоришь говно, то извини.

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
то есть ты считаешь, что твое решение это не плохо продуманный велосипед?
Это вполне норм велосипед :) у меня знакомый общение с mssql делал через сервис на винде и сериализацию в xml

Zart
26.10.2016
21:37:08
Там скорее всего поможет генная терапия
ну когда он сказал что проверял другой чувак мне стало грустно

Serge
26.10.2016
21:38:16
ну слушай, легаси же
Ответ на вопрос через что коннект к базе идет ты видел?

Google
Zart
26.10.2016
21:38:23
Это вполне норм велосипед :) у меня знакомый общение с mssql делал через сервис на винде и сериализацию в xml
а что помешало ему взять freetds и одну из пары готовых либ? там конечно потрахацца придётся с прикручиванием, но таки пашет

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
http://stackoverflow.com/questions/16491564/how-to-make-sqlalchemy-in-tornado-to-be-async
@pragus тут и по твоей теме проехались

Страница 173 из 785