
Dorian
23.07.2017
09:19:27
И сколько ядер работает ?

Nikolay
23.07.2017
09:19:41
если мне надо будет больше - сделаю run_in_executor

Dorian
23.07.2017
09:21:19
Запущу пока в контейнерах

Google

Nikolay
23.07.2017
09:22:06
о_О

Dan
23.07.2017
10:23:45
http://telegra.ph/Kotiki-Kodyat-vypusk-5-07-23
Девопсы, у нас уже 5 выпуск вышел
в следующем хотим поговорить о контейнерах

Anders
23.07.2017
10:44:46
В питоне Гил на IO операциях отпускается
Можно корутины на asyncio заюзать, если треды не нравятся
На IO-операциях на тредах все доступные будут
И сколько ядер работает ?

Vladimir
23.07.2017
10:52:54
Кнопка reply лучше чем forward :)

Alexander
23.07.2017
11:30:15

Nikolay
23.07.2017
11:35:48
по крайней мере, в питоне :) в го и эрланге там чуть сложнее

Anders
23.07.2017
11:48:24

Google

Nikolay
23.07.2017
11:50:37

Vladimir
23.07.2017
11:52:15

Anders
23.07.2017
11:56:41
Быстрый - быстрее, чем просто последовательные синхронные сетевые запросы

Nikolay
23.07.2017
12:01:14
независимо от того, треды у тебя или нет

Anders
23.07.2017
12:04:52
HTTP-клиент типа requests и нижележащий urllib на каждый коннекшен не открывают новый сокет разве?
или мы про собственноручно написанный TCP-клиент говорим?

Dorian
23.07.2017
12:15:33
Давайте про обычный SSH
Нужно открыть 10 одновременных сессий, считать вывод на 10000 строк и распарсить

bebebe
23.07.2017
12:55:46

Dorian
23.07.2017
12:57:14
:)
Это равносильно субпроцессу в питоне.
Но да, тут будет осевый форк

Nikolay
23.07.2017
12:57:40
давай чего посложнее

Dorian
23.07.2017
12:59:49
Посложнее в NSA
За либу спасибо!
Пора на 3й переходит

Nikolay
23.07.2017
13:00:43

Dorian
23.07.2017
13:01:29
У меня ещё перла полно...

Nick
23.07.2017
13:08:17

Nikolay
23.07.2017
13:12:04

Nick
23.07.2017
13:12:39
За счёт чего это корутины будут быстрее ?

Google

Nikolay
23.07.2017
13:13:06

Nick
23.07.2017
13:13:08
Да и как раз наоборот, если тред заблочить, то будет плохо. А в случае с корутинами ни

Nikolay
23.07.2017
13:13:24
нет
корутины работают в общем случае в одном треде
поэтому да, блокирующая операция блочит весь тред

Nick
23.07.2017
13:13:57
И

Nikolay
23.07.2017
13:14:37
но если их нет - то корутины будут быстрее гораздо, чем треды, ибо им не нужны примитивы синхронизации и прочие ожидания

Nick
23.07.2017
13:15:01

Nikolay
23.07.2017
13:15:16
Не правда ж
почитай про то, что такое кооперативная многозадачность и как она работает
а еще посмотри на любые тесты, где, скажем, сравниваются торнадо и фласк
торнадо держит раз в сто больше коннектов

Nick
23.07.2017
13:16:21

Nikolay
23.07.2017
13:16:41
но ок

Nick
23.07.2017
13:52:48
@Enchantner в общем я не понимаю, за счет чего корутины быстрее в передаче контекста? обычно нормальные люди прибивают операции по ченелу к 1 потоку. К примеру как в netty
@Enchantner насчет блокинга - если заблокировать тред, то тоже будет беда. А вот в случае корутин не факт. ведь шедулер может просто отдать квант времени другой корутине, но это зависит от реализации

Anders
23.07.2017
14:15:29
Если CPU-bound задача залочит asuncio-корутину - скедъюлер ничего не сделает

Nikolay
23.07.2017
14:26:18

Kvendingoldo
23.07.2017
14:26:39
Народ, а подскажите где сейчас модно хранить конфигурацию энвов?

Google

Kvendingoldo
23.07.2017
14:27:15
Для деплоя используется ansible

bebebe
23.07.2017
14:29:59

Kvendingoldo
23.07.2017
14:31:04
Сейчас и храним в гите. Есть проблема в том, что есть еще один проект использующий эти же конфигурации, но только не для деплоя. Написан он в другом формате. В итоге получается дублирование

Admin
ERROR: S client not available

Kvendingoldo
23.07.2017
14:32:04
Есть ли резон использовать etcd, если конфигурации достаточно много?

bebebe
23.07.2017
14:32:26
я поднимал подобный вопрос
я вот гадаю почему так нельзя:
ansible, факты хранит в redis
я хочу сделать новый факт, и что бы он сохранился в redis
но set_fact работает не пропихивает факты в редис, а работает в контексте инстанса ansible и пропадает после окончание плейбуки
теперь смотрю в сторону salt'a

Kvendingoldo
23.07.2017
14:34:34
А если использовать только в к-ве чтения? Мне не нужен механизм пропихивания через set_fact

bebebe
23.07.2017
14:37:55
в качестве чтения тоже вопрос
инструментариями ansible и facts_cache (например тот же redis) нужно факты привязывать обязательно к какому-нибудь хосту, нелья взять и создать факты для environment'а - если только какой-то эфемерный хост и на него добавлять факты

Nick
23.07.2017
14:37:57

Nikolay
23.07.2017
14:39:40
В итоге внешние события запускают твой код, но не тормозят его

Nick
23.07.2017
14:40:16

Nikolay
23.07.2017
14:40:59
И потом, код в потоках все равно параллельно выполняется

Nick
23.07.2017
14:42:16
ок, я понял твою мысле
вернемся к другой, за счет чего корутины будут быстрее?)

Nikolay
23.07.2017
14:46:04

Nick
23.07.2017
14:46:34
не совсем понял про какую синхронизацию идет речь

Google

Nick
23.07.2017
14:47:23
обычно делается несколько тредов, которые делают epoll и в случае если ивенты есть их разгребают воркеры
каналы привязаны к этим воркерам
ну и соотсветственно контекст канала всегда в одном потоке

Nikolay
23.07.2017
14:48:12

Nick
23.07.2017
14:48:51
в том то и дело, что сокет будет привязан к одному треду -> не нужен мьютекс
он всегда будет обработан одним потоком

Nikolay
23.07.2017
14:50:00

Nick
23.07.2017
14:50:18
exactly
только в твоих руках полный контроль
и какбы твоя теория про "быстрее" рушится)

Nikolay
23.07.2017
14:53:31
нет
ты пишешь, что треды быстрее корутин при условии, что ты моделируешь корутины внутри треда
это да, так