@ru_python

Страница 9401 из 9768
Tishka17
21.06.2019
14:24:04
код в самом начале который был

Артём
21.06.2019
14:24:48
Он postgresql.Enum заменил на gino.schema.Enum

Андрей
21.06.2019
14:24:57
сейчас впилю алхимийный только разницы не будет. Gino враппер над кор алхимией

Артём
21.06.2019
14:25:14
блин, как вы делаете, чтобы строка не переносилась при обёртывании тройным апострофом??

Google
Артём
21.06.2019
14:30:38
User
21.06.2019
14:34:25
парни есть сервис по типу старого freegeoip.net/json??

Андрей
21.06.2019
14:35:54
парни есть сервис по типу старого freegeoip.net/json??
Есть Я пользовался каким-то Но не помню уже как он называется ;(

Гугли

Я Гуглом нашел

User
21.06.2019
14:36:04
блен

окей

Unknown
21.06.2019
15:12:30
Всем привет! Вопрос по asyncio и aiohttp. Суть: есть handler на route в приложении, в этом handler'е нужно выполнить операции: 1. обратиться в redis и достать оттуда значение; 2. сделать get запрос на сторонний ресурс и взять оттуда данные; 3. сделать запрос в бд и достать оттуда объект. Операции на зависят друг от друга, под них описаны корутины, которые Возвращают что-то: 1. из корутины redis'а -> str; 2. из корутины get'а -> dict; 3. из корутины бд -> MyDataType. Вопрос: как я понимаю, запуск вида redis_res = await redis_coro() get_json = await get_coro() db_val = await db.get() запустятся одна после другой. Есть ли возможность их запустить в один момент времени?

Артём
21.06.2019
15:13:53
не волнуйся, так как это асинхронные корутины, они будут запускаться с задержкой примерно в 0,001 сек. думаю это не так критично.

Tigran
21.06.2019
15:14:02
в документации asyncio даже написано, как

Андрей
21.06.2019
15:15:26
И как?
Никак Меня отвлекли на работе. А ща уже домой топаю. Отложу до понедельника.

Google
Tishka17
21.06.2019
15:15:33
эх

Unknown
21.06.2019
15:16:41
Артём
21.06.2019
15:17:21
в этом смысл корутин, если я всё правильно понимаю.)

Unknown
21.06.2019
15:20:17
в документации asyncio даже написано, как
использовать gather? как тогда достать оттуда значение, а точнее три? можно, пожалуйста, ткнуть носом?

в этом смысл корутин, если я всё правильно понимаю.)
Как я понял, суть в том, что они не блокируют ход выполнения. Те, если ты указал, что тебе нужно запустить пару штук (используя gather) они будут выполняться конкурентно. Но, если ты одну корутину вызываешь после другой, как у меня в примере, то они будут выполняться последовательно, НО КОНКУРЕНТНО С ДРУГИМИ, УЖЕ ЗАПУЩЕННЫМИ. Поправьте, если неправильный ход мыслей

Артём
21.06.2019
15:30:13
"Но, если ты одну корутину вызываешь после другой, как у меня в примере, то они будут выполняться последовательно, НО КОНКУРЕНТНО С ДРУГИМИ, УЖЕ ЗАПУЩЕННЫМИ." - Да.

Unknown
21.06.2019
15:33:12
"Но, если ты одну корутину вызываешь после другой, как у меня в примере, то они будут выполняться последовательно, НО КОНКУРЕНТНО С ДРУГИМИ, УЖЕ ЗАПУЩЕННЫМИ." - Да.
проверил async def coro_1(): await asyncio.sleep(1) print("coro 1") async def coro_2(): print("coro 2") async def main(): await coro_1() await coro_2() # await asyncio.gather(coro_1(), coro_2()) if __name__ == '__main__': import asyncio asyncio.run(main()) да, одна ждет другую, без использования gather. В связи с этим вопрос, как запустить их одновременно, может есть хак, не через gather? Как вытащить значения возвращенные корутинами, если они запущены через gather?

Артём
21.06.2019
15:35:04
а вот тут надо кого-то другого спросить.) Когда у меня возникла такая проблема, я просто функцию, из которой мне нужен был return сделал не корутиной а обычной функцией.

как вариант - сделать обычную функцию, с обычным ретурном, внутри которой запускается корутина, например ?‍♂️ это то, на что хватило моих скудных познаний в этой области ?

Дмитрий
21.06.2019
15:37:01
в теории сработает грязный хак типа class A: async def coro1(self): self.a1 = await outer.coro1() async def coro2(self): self.a2 = await outer.coro2() async def start(self): asyncio.gather(self.coro1(), self.coro2())

Дмитрий
21.06.2019
15:39:12
не совсем понял про gather, там нет ошибки? у self нет coro* )
я сам пока не запускал, это идеологически куда можно подумать. сейчас попробую у себя запустить

Vladyslav
21.06.2019
15:44:17
https://docs.python.org/3/library/asyncio-task.html#asyncio.gather для кого доки пишут? If all awaitables are completed successfully, the result is an aggregate list of returned values. The order of result values corresponds to the order of awaitables in aws.

Unknown
21.06.2019
15:44:33
https://docs.python.org/3/library/asyncio-task.html#asyncio.gather для кого доки пишут? If all awaitables are completed successfully, the result is an aggregate list of returned values. The order of result values corresponds to the order of awaitables in aws.
Спасибо, читал по диагонали видимо. Ну, в моем понимании, для этого и нужны группы типа этой. Ведь на все можно ответить "или учи матчасть"

Артём
21.06.2019
15:51:15
https://docs.python.org/3/library/asyncio-task.html#asyncio.gather для кого доки пишут? If all awaitables are completed successfully, the result is an aggregate list of returned values. The order of result values corresponds to the order of awaitables in aws.
т.е. оно ломается, если например, одна из корутин уважаемого Unknown, которая полезла в сеть или на сервер - не получила своего значения?

Google
Unknown
21.06.2019
15:52:38
т.е. оно ломается, если например, одна из корутин уважаемого Unknown, которая полезла в сеть или на сервер - не получила своего значения?
Там есть параметры у gather, обеспечивающие корректное выполнение)) вот это я не пропустил)

Артём
21.06.2019
15:53:05
хорошо. А то мне аж прямо за глаз зацепилось "if ALL awaitables completed successfully"

Santa
21.06.2019
16:04:29
Ребят, как обфуцировать исполняемый файл ?

Alexander
21.06.2019
16:15:06
Как Питон захватывает участок памяти при параллельной работе? Если у меня есть например такое: m=min(new, m) , во время всего вызова min() m заблокирована?

Или только в момент чтения он ее блокирует?

Алексей
21.06.2019
16:15:48
Чего?

Aragaer
21.06.2019
16:15:51
предположу, что он никак ничего не блокирует

Aragaer
21.06.2019
16:16:27
но если ты во время выполнения min из другого потока попытаешься этот m ковырнуть, будь готов к неожиданным результатам

Вадим
21.06.2019
16:17:21
У кого-нибудь возникала такая ошибка:from object_detection.protos import string_int_label_map_pb2 ImportError: cannot import name 'string_int_label_map_pb2'

Aragaer
21.06.2019
16:17:27
ага

Jentry
21.06.2019
16:17:28
Или только в момент чтения он ее блокирует?
никак не блокирует, gil не защищает пользовательские данные, только внутренние структуры рантайма, поэтому используй явную блокировку

Admin
ERROR: S client not available

Ilia
21.06.2019
16:17:52
Как Питон захватывает участок памяти при параллельной работе? Если у меня есть например такое: m=min(new, m) , во время всего вызова min() m заблокирована?
Как бы это переменная .... ммм... Во фрейме выполнения текущей функции. Они разные для разных потоков. Поэтому у каждого потока эта переменная своя. Вот если это -- переменная модуля, --- тут другое, тут уже надо защищать.

Aragaer
21.06.2019
16:18:20
ну да, это предполагалось

что у кого-то "извне" есть доступ вот именно к этому m

Jentry
21.06.2019
16:18:57
если этот m - список, то доступ вполне себе есть)

Google
Santa
21.06.2019
16:19:19
Кто подскажет про обфускацию исполняемого файла?

Ilya
21.06.2019
16:27:21
привет, вопрос не по питону но все же , кто юзал апиху линкедин ?

Tishka17
21.06.2019
16:30:14
Как же я люблю рефакторинг

Полдня ломаешь голову, потом ещё день пишешь. А в результате код и короче и понятнее

TpouHuK
21.06.2019
16:31:58
я вызываю метод объекта child.set_container(container)

Tishka17
21.06.2019
16:32:14
И как всегда задаюсь вопросом: ну вот я же сразу хотел так делать, почему не сделал?

TpouHuK
21.06.2019
16:32:21
и в самом методе, в self переходит аргумент container, это как?

как такое возможно? >_<

Tishka17
21.06.2019
16:33:31
А покажи код child

TpouHuK
21.06.2019
16:34:30
А покажи код child
Наверное весь код скину

хм, кто-то передавал класс вместо объекта

Tishka17
21.06.2019
16:38:02
:)))

Вилка?

Артем
21.06.2019
16:40:53
Вилка?
Какая сейчас вилка для питона?

Tishka17
21.06.2019
16:41:02
Хз

Я не хр, я только свои потребности могу сказать, но я работу не ищу

Andrew
21.06.2019
16:54:37
Привет

Владимир
21.06.2019
16:55:41
Привет
nometa.xyz

Andrew
21.06.2019
16:59:06
Привет. Я сейчас работаю над созданием бота в телеге(магаз), хочу подключить корзину чтоб покупатель мог добавить туда товары, но не знаю вообще как реализовать это. Подскажите хотяб команду или метод чтоб я начал изучать в этом направлении

Tishka17
21.06.2019
17:00:37
Эм. Ну тебе надо корзину где-то хранить

Google
Tishka17
21.06.2019
17:00:43
Берешь любую базу данных

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