@ru_python

Страница 2418 из 9768
Nikolay
05.03.2017
20:29:23
есть корутина, есть ее вызов

можно называть корутину “таском”, если так нравится)

CthUlhUzzz
05.03.2017
20:30:24
Как я понял, таск как раз и делает всю магию

Позволяя переключаться между сопрограммами

Google
Rocket
05.03.2017
20:30:42
Nikolay
05.03.2017
20:31:04
таск - это корутина

Rocket
05.03.2017
20:31:08
Есть такс, есть фьюча, есть канкаренси.фьюча, есть канкаренси.таск.

Nikolay
05.03.2017
20:31:25
проблема asyncio в том, что корутину добавить в луп можно несколькими разными способами

Есть такс, есть фьюча, есть канкаренси.фьюча, есть канкаренси.таск.
канкаренси - это обертка для тех, кто пришел с jvm-языков

Rocket
05.03.2017
20:32:19
Есть эвейтбл, а есть йелдбл-корутина, это разные вещи.

Nikolay
05.03.2017
20:32:34
там как раз concurrency.Future - это та же хрень, то есть потоковая обертка

Есть эвейтбл, а есть йелдбл-корутина, это разные вещи.
в 3.6 же вроде практически одинаковые уже?

Rocket
05.03.2017
20:32:57
в 3.6 же вроде практически одинаковые уже?
Конечно нет. Это разные объекты.

И работают они по разному.

Nikolay
05.03.2017
20:33:25
CthUlhUzzz
05.03.2017
20:33:39
?

Google
CthUlhUzzz
05.03.2017
20:33:39
Как я понял, таск как раз и делает всю магию

Позволяя переключаться между сопрограммами

Nikolay
05.03.2017
20:33:44
у тебя были корутины с yield from, которые обернуты декоратором @asyncio.coroutine

и есть корутины с async

они разные, да, но вроде как все идет к тому, чтобы они в итоге стали одним и тем же

Rocket
05.03.2017
20:34:11
Верно

Nikolay
05.03.2017
20:34:14
или я неправильно понимаю?

Rocket
05.03.2017
20:34:37
или я неправильно понимаю?
Они не станут. Это разные объекты с одинаеовым поведением

Nikolay
05.03.2017
20:34:50
Позволяя переключаться между сопрограммами
ты не совсем верно терминами оперируешь

переключаются между сопрограммами сами сопрограммы, в общем-то

Rocket
05.03.2017
20:35:10
Корутина это генератор, обернутый то ли в футуру, то ли в таск

А async это встроенный объект awaitble

CthUlhUzzz
05.03.2017
20:36:06
ты не совсем верно терминами оперируешь
Я пытаюсь понять, как одновременно заставить работать несколько деревьев короутин, чтобы они друг-друга не блокировали

Nikolay
05.03.2017
20:36:12
ну, на деле все они - корутины :) просто по-разному чуть реализованые

Rocket
05.03.2017
20:36:20
Оба делают одно и тоже, но корутина - оставлена для совместимости, ибо появилось это в 3.3, а там async/await не было.

Oleg
05.03.2017
20:36:40
:D

Nikolay
05.03.2017
20:36:44
переключениие контекста будет по yield/await происходить

Oleg
05.03.2017
20:37:03
А что из матчасти лучше почитать про корутины?

Google
Nikolay
05.03.2017
20:37:12
asyncio.gather
кстати, вот эту гадость я вообще не понимаю

не, я понимаю, что она для “параллельности”, и я сам ее юзаю

Oleg
05.03.2017
20:37:33
Я пытался съесть хелп питона, но чот не вкурил Есть же книги нормальные, я верю ))

Nikolay
05.03.2017
20:37:37
но, вроде как, с нормальными асинхронными генераторами она становится нафиг не нужна

Я пытался съесть хелп питона, но чот не вкурил Есть же книги нормальные, я верю ))
я статью писал на русском, но она частично за пейволлом на сайте хакера

но есть куча хороших бесплатных на английском

CthUlhUzzz
05.03.2017
20:38:31
Nikolay
05.03.2017
20:38:44
Тогда нахрена таски нужны?
нету никаких "тасков"

есть корутины

то, что они в коде даже самого asyncio могут называться чем угодно - это огрехи интерфейса)

Eldar
05.03.2017
20:39:33
нету никаких "тасков"
так это обертка просто жи

Nikolay
05.03.2017
20:39:43
Nikolay
05.03.2017
20:39:59
я так понимаю, товарищ говорит про loop.create_task()

это тупо запускалка для корутины и там не так много отличий от asyncio.ensure_future()

CthUlhUzzz
05.03.2017
20:40:54
ensure_future()

Rocket
05.03.2017
20:41:20
CthUlhUzzz
05.03.2017
20:41:49
Gather выполняет все корутины и складывает результат в список

Nikolay
05.03.2017
20:41:52
А чего тут не понятного?
я не понимаю, зачем в красивом асинхронном мире единственная функция для параллельного запуска засовывает все, сука, в список

CthUlhUzzz
05.03.2017
20:42:08
А, лол

Nikolay
05.03.2017
20:42:10
почему нельзя, как в gevent, было сделать imap_unordered()

Google
Nikolay
05.03.2017
20:42:31
это куда логичнее

Rocket
05.03.2017
20:42:42
я не понимаю, зачем в красивом асинхронном мире единственная функция для параллельного запуска засовывает все, сука, в список
Мне часто надо что-то запустить в бэкграунде и я не хочу получить рузультат в текущую функцию.

Nikolay
05.03.2017
20:43:01
ты спавнишь корутину, которая результат может пихать куда угодно

тебе надо оттуда лишь его взять

CthUlhUzzz
05.03.2017
20:43:49
@Enchantner у меня еще вопрос

Может ли несколько петель работать в одном треде?

Rocket
05.03.2017
20:44:11
Admin
ERROR: S client not available

Nikolay
05.03.2017
20:44:39
Нет.
вроде может

только зачем?

А чем список то не нравится?
зачем мне список? мне генератор нужен, по мере выполнения

Rocket
05.03.2017
20:45:07
ты спавнишь корутину, которая результат может пихать куда угодно
Она его пихает вникуда по сути. Мне не нужен из нее результат.

CthUlhUzzz
05.03.2017
20:45:15
А почему бы и нет?)

только зачем?

Nikolay
05.03.2017
20:45:31
потому что никакого профита от этого ты не получаешь

Rocket
05.03.2017
20:45:40
зачем мне список? мне генератор нужен, по мере выполнения
Ты не понял. Я вообще не жду от нее результату.

Nikolay
05.03.2017
20:46:04
Ты не понял. Я вообще не жду от нее результату.
я тебе отвечал на вопрос, почему мне не нравится gather() :)

а что насчет твоего случая - не очень понял

Google
Nikolay
05.03.2017
20:46:25
ну не ждешь, запустил и все

в чем проблема?

asyncio.ensure_future()

Nikolay
05.03.2017
20:47:04
Ну так юзай ensure_future
так это ортогональные понятия

Евгений
05.03.2017
20:47:27
Что из этого начинать делать?

ну если прям по фасту чет, то пыха, а вместе с ней фреймворк - Laravel

junior`ом в тестировщики (QA), парадокс, но при 0 знаний и опыта, можно и больше 40 получать

имхо (меня поправят, если я не прав) в твоем случае питон - очень плохая затея, т.к. редко бывают (я не видел по крайней мере) вакансию фулл питон разраба (везде +веб/матан/автоматизация) лучше фронтенд такто

Читаешь Доусона, если совсем уж новичок, в потом Укус питона

ну то есть можешь пойти эникеем по всяким линуксам

еще можно пойти тестировщиком

Python успеешь за пару дней, неделю. Дальше Django и вперед и с песней

Bootstrap ещё пригодится

и норм QA жуниор

купишь цуско новую

за многа денег

типа фаерповера

и сидишь тестируешь

матюкаешь в так пишешь

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