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

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

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

Rocket
05.03.2017
20:32:57
И работают они по разному.

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 не было.

Nikolay
05.03.2017
20:36:23

Oleg
05.03.2017
20:36:40
:D

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

Rocket
05.03.2017
20:36:53

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

Google

Nikolay
05.03.2017
20:37:12
не, я понимаю, что она для “параллельности”, и я сам ее юзаю

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

Rocket
05.03.2017
20:44:21

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
а что насчет твоего случая - не очень понял

Google

Nikolay
05.03.2017
20:46:25
ну не ждешь, запустил и все
в чем проблема?
asyncio.ensure_future()

Rocket
05.03.2017
20:46:43

Nikolay
05.03.2017
20:47:04

Евгений
05.03.2017
20:47:27
Что из этого начинать делать?
ну если прям по фасту чет, то пыха, а вместе с ней фреймворк - Laravel
junior`ом в тестировщики (QA), парадокс, но при 0 знаний и опыта, можно и больше 40 получать
имхо (меня поправят, если я не прав)
в твоем случае питон - очень плохая затея, т.к. редко бывают (я не видел по крайней мере) вакансию фулл питон разраба (везде +веб/матан/автоматизация)
лучше фронтенд такто
Читаешь Доусона, если совсем уж новичок, в потом Укус питона
ну то есть можешь пойти эникеем по всяким линуксам
еще можно пойти тестировщиком
Python успеешь за пару дней, неделю. Дальше Django и вперед и с песней
Bootstrap ещё пригодится
и норм QA жуниор
купишь цуско новую
за многа денег
типа фаерповера
и сидишь тестируешь
матюкаешь в так пишешь