
Serge
22.02.2017
23:03:11
Ансиблом и поднимал, только это давно было. А теперь не очень понятно, как, например, 3 старых удалить, а 5 новых создать. По описанию тераформа примерно такое позволяет легко сделать.
ну, терраформ более декларативный, да, но это Хашикорп, а это гаратния странных отношений с головой. с ансиблом можно писать плейбуки, типа "ensure absent". т.е. типа писать отдельное определение, что тебе чего-то не нужно.
более ansible way — сносить всё и всё заново поднимать;) ну по возможности, например через blue/green deployment

Aleksandr
22.02.2017
23:05:39
@lig11 а как ты rolling update сделаешь-то таким образом?
Я про ensure.

Google

Serge
22.02.2017
23:06:30
blue/green можно делать плавно. от конкретики зависит.

Sergey
22.02.2017
23:49:21
*106M* Feb 15 19:30 terraform
106 метров? оно меня не съест?

Aleksandr
23.02.2017
00:44:24
@lig11 не совсем. В blue/green переключается трафик махом на новые реплики, в rolling update постепенно, в зависимости от настроек.
Поэтому rolling update не всегда людям подходит.
https://youtu.be/-Ci4vd4rh4M к примеру про blue/green велосипед в kubernetes, потому что людям не подошел ru

Cyril
23.02.2017
01:44:14
Привет, а тут есть кто-нибудь из WG/Lesta?

I
23.02.2017
04:46:11
меня не взяли туда года два назад на actionscript(

Dmitry
23.02.2017
05:09:21

Serge
23.02.2017
06:27:20

Google

GNU/Docker
23.02.2017
07:12:57
Я писал некоторую поддержку терраформа нашим облаком. Прикольная штука

Евгений
23.02.2017
07:20:34

[root@localhost ~]#
23.02.2017
07:23:09
да скрипт ещё очень сырой и корявый

Aleksandr
23.02.2017
07:38:15
Хотя бы делал один write массиву строк :)

[root@localhost ~]#
23.02.2017
07:41:23
это грубый не оптимизированный набросок

Aleksandr
23.02.2017
08:27:32
Понятно. Просто я набрасываю сразу без копи-пасты где мог бы допустить ошибку

Serge
23.02.2017
09:15:26

Aleksandr
23.02.2017
09:16:05
Да это-то понятно. Я просто всегда удивляюсь почему люди любят делать копи-пасту :)

Dmitriy
23.02.2017
09:16:05
"""

Aleksandr
23.02.2017
09:16:24
foo(a)
foo(b)
foo(c)
foo(d)
Почему for + tuple не сделать ?
@zaz600 опасно так :)
var = “””a = 1
b = 2
c = 3
d = 4
Выравнял случайно и поломал все :)

Serge
23.02.2017
09:27:43
http://pca.st/Ax5X

Sergey
23.02.2017
09:33:20
есть документы в mongodb с полем timestamp
1) фильтрую "$match": {timestamp: {$ne:null}}
2) преобразую timestamp в дату, группирую по дням
в консоли mongo всё отлично, а pymongo выдаёт первый результ с
"_id": {
"datetime": null
}
это фича такая?

Serge
23.02.2017
09:34:54

Dmitry
23.02.2017
10:10:33

Serge
23.02.2017
10:11:08

Stepan
23.02.2017
10:52:40
Можно я сюда пожалуюсь, что asyncio это провал и я жалею, что вобще с ним связался?

Google

Dmitry
23.02.2017
10:53:30
можно :)
только мы ж хотим подробностей, Степан


Stepan
23.02.2017
10:54:49
короче я в свое время написал и поддерживаю https://github.com/szastupov/aiotg
по началу было прикольно, типа async/await, никакого callback hell, все просто
потом стало понятно, что пользователям библиотеки тяжело понять как asyncio работает - они постоянно забывали эвэйтить корутины, но в прочем Armin про это уже писал http://lucumr.pocoo.org/2016/10/30/i-dont-understand-asyncio/
в разных библиотеках для asyncio разныее inconsistencies, например где-то можно прокинуть вверх корутину и не юзать await, а где-то встроенная в библиотеку магия это ломала (python-socketio например)
в итоге я психанул с того, что aiohttp скоро сломает старый api (aiohttp.get, aiohttp.post) и нужно переходить на aiohttp.ClientSession который без async with нормально юзать не получается, а я же не буду API ломать
и aiohttp не одни такие, все сейчас экспосят __aenter__ __aexit__ типа юзайте
код вы итоге получается в ехал async через await через async with и тд
короче, приходишь к мысли, что это не Python way, что нафига так жить если проще уже на ноде писать


Sergey
23.02.2017
11:04:58
Звучит замечательно :D

Stepan
23.02.2017
11:05:54
ну и Promise в javacsript более удобная концепция - это не Future, промис представляет из себя уже запущенный процесс, тебе не нужно явно регистрировтаь его в лупе, не нужно эвэйтить, он и так выполнится (есть исключения конечно, если промис не зарелзолвили но на практике обернутый в промис код делает)

Stepan
23.02.2017
11:06:44
и async/await в javascript работает поверх промисов и целиком совместим:
async function foo (bar) {
return bar + ' baz'
}
foo('test').then(console.log)

Nikolay
23.02.2017
11:09:46
aiohttp - штука активно развивающаяся и они там много чего ломают, это да

Stepan
23.02.2017
11:10:50

Nikolay
23.02.2017
11:11:14

Stepan
23.02.2017
11:11:16
наверное ты имел в виду loop.create_task

Nikolay
23.02.2017
11:11:26
либо чтобы в отдельном процессе стартовать отдельный луп

Google

Nikolay
23.02.2017
11:11:58
а ты пишешь, что хочешь что-то, что не надо await’ить

Stepan
23.02.2017
11:12:47
нет
loop.create_task() вернет корутину и точно добавит ее в луп
те можно сделать create_task и забить и не эвэйтить
но не будешь же так постоянно делать

Nikolay
23.02.2017
11:17:30
ну, ты можешь обернуть функции в декоратор, чтобы они сами добавлялись, например

Stepan
23.02.2017
11:17:43
костыли костылики

Nikolay
23.02.2017
11:17:57
почему? нет

Admin
ERROR: S client not available

Nikolay
23.02.2017
11:18:01
а чего ты хотел
если работаешь с корутинами - то либо так, либо await
третьего особо не дано

Stepan
23.02.2017
11:19:03
ну да в общем
но не удобно же

Nikolay
23.02.2017
11:20:29
явное лучше неявного
что неудобно?

Stepan
23.02.2017
11:20:47

Nikolay
23.02.2017
11:21:02

Stepan
23.02.2017
11:21:06
слишком много явного это уже шум, хотел бы шума писал бы на го

Nikolay
23.02.2017
11:21:08
coroutine was never awaited

Google

Stepan
23.02.2017
11:21:40
я в свое время очень ругал ноду с ее callback hell, а спустя года их модель оказалась более устойчевой и эволюцианировала и выглядит более простой и элегантной

Nikolay
23.02.2017
11:22:21
“нода” и “элегантный” в одном предложении в питончате - это что-то :)
там нету ничего элегантного, да и async-await там только появился, причем он не сильно отличается от питоновского
ну, кроме момента, который ты выше упомянул, но и он легко решается

Stepan
23.02.2017
11:23:47

Nikolay
23.02.2017
11:23:58

Stepan
23.02.2017
11:25:39
ну лан, я не в брасыаю, я ж из опыта работы и с тем и с другим. просто мой совет сильно не обольщаться по поводу asyncio, не все там радужно и просто

Nikolay
23.02.2017
11:28:13
я вот дико рад, что в 3.6 асинхронные генераторы теперь есть
давно пора

Stepan
23.02.2017
11:29:42
а я грущу, что в javascript нет вокруг генераторов/итераторов экосистемы и нет list comprehensions вообще (

Nikolay
23.02.2017
11:37:55
я не грущу, потому что меня ни разу не вставляет javascript
и я желаю, чтобы он поскорее уступил место нормальным языкам)
но это вряд ли скоро произойдет

Dmitry
23.02.2017
11:39:06
js быстрее сам станет нормальным (и он уже неплох)
судя по движу

Nikolay
23.02.2017
11:42:13
не станет
его проблема - люди, которые на нем пишут
у них сами собой руки не исправятся

Dmitry
23.02.2017
11:42:39
это фраза про проблему языка php изначально была =)
главная проблема языка программирования php - люди, которые пишут на php

Stepan
23.02.2017
11:42:58