@ru_python

Страница 8975 из 9768
Aidar
09.05.2019
14:41:08
Как тогда быть?(
Посмотри GINO

А так запрос а Гугл async python orm

Vladislav
09.05.2019
14:41:37
Друзья, кто-то может помочь подождать результата асинхронной функции без использования await ? Мб как-то вручную вызывая методы что заставляют это делать когда пишешь await. Код (попытки) (очередные): https://pastebin.com/HmKu4hrk

Google
Alex
09.05.2019
14:42:41
Vladislav
09.05.2019
14:43:13
Можно строку конкретно, лень искать
def auto_await(coroutine_obj): iterator_async = coroutine_obj.__await__() while True: try: result = iterator_async.__next__() print('result: ', result) except StopIteration: return None #except RuntimeError: # RuntimeError: await wasn't used with future #print("ERROR") #return None async def main(): auto_await(some()) print('main()') получаю RuntimeError что закомментировал

Aidar
09.05.2019
14:43:35
Номера на пастбине хватило бы

?? Eugene
09.05.2019
14:43:36
Alex
09.05.2019
14:44:20
Поддерживает ли sqlalchemy asyncio?
а надо? никто тебе во-первых не мешает делать блокирующий вызов к базе, в большинстве случаев накладные расходы на асинхронность могут быть выче чем синхронный запрос к базе. во-вторых никто тебе не мешает отдельные тяжелые запросы вынести в пул.

?? Eugene
09.05.2019
14:48:05
не, ну лучше хотя бы в пул выносить

Vladislav
09.05.2019
14:48:51
Можно вопрос, зачем так делать?
await часто пропускается, хотел бы вычистить код от него, добавив декораторы auto_await вверх асинхронных функций

Google
Vladislav
09.05.2019
14:50:05
И вроде как надо делать anext и ловить AsyncStopIteration
просто неохота каждый раз писать await перед вызовом асинхронных функций =)

И вроде как надо делать anext и ловить AsyncStopIteration
Вместо result = await async_function_to_run(attr) написать result = async_function_to_run(attr)

Aidar
09.05.2019
14:51:03
просто неохота каждый раз писать await перед вызовом асинхронных функций =)
Это вроде не так сложно, но сразу видно что происходит вызов асинхронной функции, вы потом сами запутаетесь

Iva
09.05.2019
14:51:11
почему надо писать жЫрное слово lambda вместо того чтобы ставить =>?

Vladislav
09.05.2019
14:52:03
Это вроде не так сложно, но сразу видно что происходит вызов асинхронной функции, вы потом сами запутаетесь
ну тут дело принципа, мне не нужно их запускать без await вообще никогда. Поэтому нет смысла его всегда писать.

это то же самое, что и писать перед обычной функцией слово wait

Vladislav
09.05.2019
14:52:54
?? Eugene
09.05.2019
14:52:57
Denis
09.05.2019
14:54:01
почему надо писать жЫрное слово lambda вместо того чтобы ставить =>?
Потому что Гвидо их не одобряет и хочет усложнить использование

Aidar
09.05.2019
14:54:11
вот и пишу, но не работает =)
А в чем проблема в auto_await принимать курутину, делать await и возвращать результат?

Зачем вайл?

Iva
09.05.2019
14:54:23
спасибо кэп, мне интересно какой "гений" это выдумал? из λx.Term, ну так это просто убого заменять

Потому что Гвидо их не одобряет и хочет усложнить использование
Точно долбанутый, лямбды это лучшее что произошло с програмированием

Vladislav
09.05.2019
14:54:59
уже пробовал. если это асинхронная функция (декорированная), то ее тоже нужно запускать только с await и весь смысл теряется. Все равно пишется await

Iva
09.05.2019
14:56:38
Куда надо лезть чтобы заменить lambda на =>?

Google
Vladislav
09.05.2019
14:56:48
?? Eugene
09.05.2019
14:57:12
Куда надо лезть чтобы заменить lambda на =>?
Занялся бы чем-нибудь полезным

Denis
09.05.2019
14:57:14
Alex
09.05.2019
14:57:17
работает быстрее
какое распространенное заблуждение

Aidar
09.05.2019
14:57:59
++

?? Eugene
09.05.2019
14:58:01
Есть либа на pypi с более функциональными лямбдами

название не припомню

Aidar
09.05.2019
14:58:24
Асинхронщина не работает в общем случае быстрее, иногда даже медленнее

Vladislav
09.05.2019
14:58:27
Куда надо лезть чтобы заменить lambda на =>?
import tokenizer. потом делать monkey-patch токенов, парсить код в ast, compile, потом импортировать его

забыл, еще monkey patch importlib нужно будет сделать. (пытался когда-то свой парсер написать)

Vladislav
09.05.2019
15:00:13
Асинхронщина не работает в общем случае быстрее, иногда даже медленнее
она обрабатывает больше запросов чем синхронщина, если это не так, то бенчмарки врут

?? Eugene
09.05.2019
15:00:46
опа посиба
покажешь потом, ок?

Iva
09.05.2019
15:01:03
если получится и не забъю

?? Eugene
09.05.2019
15:01:48
короче, не покажешь

Aidar
09.05.2019
15:02:15
она обрабатывает больше запросов чем синхронщина, если это не так, то бенчмарки врут
Только в том случае, если есть io, запросы и всё что можно ожидать

Iva
09.05.2019
15:02:40
И вообще n дел которые можно делать сразу

?
09.05.2019
15:04:19
я пишу la+Tab

Vladislav
09.05.2019
15:05:37
если получится и не забъю
мб чутка тебе поможет: https://github.com/vlad1777d/pythonscript/tree/dev_parser_new там есть полезная инфа. я брал за основу те модули что тебе говорил и чуть менял код

Google
Aidar
09.05.2019
15:07:02
да, именно этим я и занимаюсь =)
А, ну тогда это хороший вариант

Aidar
09.05.2019
15:07:37
да, именно этим я и занимаюсь =)
Попробуй реально вызывать anext, вроде обычного некста у курутир генераторов нет

Vladislav
09.05.2019
15:08:25
Попробуй реально вызывать anext, вроде обычного некста у курутир генераторов нет
там нету методов __anext__, увы, но я попробую. процентов 90 что это закончится неудачей

Alex
09.05.2019
15:08:34
Так какие такие расходы?
расходы на передачу управления и работу eventloop очевидно же

Admin
ERROR: S client not available

Марк
09.05.2019
15:09:10
расходы на передачу управления и работу eventloop очевидно же
И как они в сравнении с блокирующим вызовом?

Alex
09.05.2019
15:10:24
https://techspot.zzzeek.org/2015/02/15/asynchronous-python-and-databases/

для ознакомления, perf-тесты в статье устарели, но общая идея должна быть понятна.

Никита
09.05.2019
15:15:03
Подскажите, можно ли в sqlalchemy CheckConstraint записать в виде регулярок?

Марк
09.05.2019
15:22:51
https://techspot.zzzeek.org/2015/02/15/asynchronous-python-and-databases/
Че там в двух словах? ЧТо запрос на дбапи может быть тяжелым?

Alex
09.05.2019
15:25:16
Че там в двух словах? ЧТо запрос на дбапи может быть тяжелым?
нет, что в общем случае твоя база данных и IO работают сильно быстрее питона. при минимальных задержках на IO асинхронные запросы не всегда эффективны.

Марк
09.05.2019
15:27:18
нет, что в общем случае твоя база данных и IO работают сильно быстрее питона. при минимальных задержках на IO асинхронные запросы не всегда эффективны.
При минимальных асинхрон никому не нужен жуж. А вот когда отчетики пизданул, где надо подождать- уже вопрос

Alex
09.05.2019
15:27:37
не понимая толком как оно работает и в каких случаях его (асинк) стоит применять.

Марк
09.05.2019
15:30:33
не понимая толком как оно работает и в каких случаях его (асинк) стоит применять.
Светлов в одном из докладов говорил, что не нужно понимать, как работает асинк(не вашего ума дела - так понял), вы просто берете и пишете без запар. Это к слову

Alex
09.05.2019
15:31:29
Мало ли чего Светлов говороил. Светлов один из авторов asyncio и aiohttp, он как минимум предубежден.

Марк
09.05.2019
15:33:10
И еще у него экспертное мнение.

И яне уверен, что среди мемберов в чатике на 8к чел, есть хоть один чувак с компетенцией такой же

Google
Iva
09.05.2019
16:17:52
чем пыхтон дебажить?

Aragaer
09.05.2019
16:18:56
пристальным взглядом и юнит-тестами

Artem
09.05.2019
16:19:22
Iva
09.05.2019
16:19:44
ясно, ничем значит

Nikita
09.05.2019
16:20:10
дебаггера в том же пайчарме вполне хватает

Iva
09.05.2019
16:21:24
пиратить или что?

?? Eugene
09.05.2019
16:21:51
ясно, ничем значит
От тебя зубы уже ноют, мб тебе отдохнуть пару дней? Или вообще взять другой язык, их же миллион

Steel
09.05.2019
16:21:59
дебаггера в том же пайчарме вполне хватает
Есть какие-то особенные требования для дебага, чтобы людям его не хватало?

пиратить или что?
У PyCharm есть бесплатная версия. А vs code вообще опенморс.

Точнее у PyCharm есть платная версия с какими-то фишками. Большая часть функционала есть в бесплатной.

Iva
09.05.2019
16:23:46
Есть какие-то особенные требования для дебага, чтобы людям его не хватало?
Стопить потоки, условные брекпоинты, заходить в дебаг при эксепшоне

Steel
09.05.2019
16:25:23
Стопить потоки, условные брекпоинты, заходить в дебаг при эксепшоне
Брейкпоинты есть, мне полностью хватает. С потоками не пробовал, но было бы странно, если нельзя.

Anton
09.05.2019
16:32:37
pdb же
а как же print'ы?)))00

Alex
09.05.2019
16:32:45
куда ж без них родимых

Страница 8975 из 9768