@spbpython

Страница 64 из 785
Roman
23.06.2016
11:37:09
а зачем нужен торнадо?

Serge
23.06.2016
11:37:55
ну, когда-то давно было модно на нем делать всякое с вебсокетами, типа event driving

Andrey
23.06.2016
11:45:23
а сейчас на чем модно?

Roman
23.06.2016
11:48:29
Google
Andrey
23.06.2016
11:48:58
а если питон 2? =)

Aleksandr
23.06.2016
11:50:14
http://img.walls321.com/images1/huonwfmxdrv.jpg

Danil
23.06.2016
11:53:59
а если питон 2? =)
тогда зачем тебе думать о моде? )

VsegdaZhivoi
23.06.2016
11:54:30
?

Andrey
23.06.2016
11:54:32
ну а вдруг

Roman
23.06.2016
11:55:27
ну или trollius

Vitali K.
23.06.2016
11:57:10
@lig11 о дебаге. Можно зайти на сервера и посмотреть на каком есть Джанго воркер. 100% cpu

Чёто я наверное вне контекста что-то сказал чувствую )))

Serge
23.06.2016
12:10:28
а если питон 2? =)
а это не модно, но есть gevent

@lig11 о дебаге. Можно зайти на сервера и посмотреть на каком есть Джанго воркер. 100% cpu
не, там нет 100% cpu, и я уже сделал один воркер, но там gevent, что тоже не проблема, я уже в один процесс перезапустил и pdb внедрил

и тут ошибка пропала...;)

вернул как было на gevent и все равно ошибки нет, мистика

Google
Dmitry
23.06.2016
12:14:28
ээ запрос.. в джанго.. https://github.com/django-debug-toolbar/django-debug-toolbar ?

или pdb в каком-нибудь виде, да.

Serge
23.06.2016
12:16:37
ээ запрос.. в джанго.. https://github.com/django-debug-toolbar/django-debug-toolbar ?
во-первых debug на проде я не буду включать, во вторых тулбар не поможет, когда запрос по таймауту отваливается

да, втыкал pdb, но ошибка прошла;)

Roman
23.06.2016
12:17:08
я всякие бэкдоры использую для дебага

Serge
23.06.2016
12:17:44
а у gevent вроде был бэкдорчик какой-то...

Roman
23.06.2016
12:20:00
ага.

вот у меня был факап, когда я ждал POLLIN из сокета, где удалённая сторона уже закрыла.

Serge
23.06.2016
12:34:58
а вот скажите мне, а может установка в venv проекта pdb вылечить некий неуловимый лок в gevent?

ну просто проблемы нет, все хорошо стало на проде, я только pdb поставил

Andrey
23.06.2016
13:36:50
ну удали его и посмотри

Serge
23.06.2016
14:19:17
:)

Dmitry
23.06.2016
14:20:11
но лучше не удаляй пока сразу. пусть повисит, поймёшь, реально ли проблема ушла. А потом да, удали и снова проверь

Serge
23.06.2016
14:20:39
ну, по ходу не ушла, но там непонятно

Dmitry
23.06.2016
14:20:45
?

Serge
23.06.2016
14:20:58
тут еще мне коллеги подсказали что можно в логах посмотреть

ну, проблема вернулась, но теперь уже не понятно на всех серверах или только не на тех где pdb:) в общем странно все это

а вот коллеги, есть вопрос про celery допустм у меня бежит долгая таска и я бы хотел в определенные моменты дать побегать параллельным таскам в том же воркере, чтобы очередь не застаивалась. как бы так сделать?

Vitali K.
23.06.2016
18:52:37
Может лучше иметь пару очередей с разными приоритетами?

Интересно сравнить селери и RQ. В RQ воркер - это два процесса: 1) родительский 2) рабочая лошадка - форк от родительского на каждую таску. В селери так же?

Google
Serge
23.06.2016
19:03:20
в селери много как, но в основном, насколько я понимаю, пул различных тредов, в заивисмости от выбранного бэкенда, которому основной процесс воркера напихивает задачи

воркеров сколько хочешь

и beat, он же cron, который порождает задачи по расписанию или через интервал

воркеры забирают задачи из брокера сами

так, sleep не помог

Может лучше иметь пару очередей с разными приоритетами?
у меня уже этих очередей... ради одной длинной редкой таски не хочется отдельную очередь творить

Vitali K.
23.06.2016
19:06:01
Ну тогда надо больше воркеров)

Serge
23.06.2016
19:06:06
это ж еще и воркера под нее надо... а это минимум две тачки в aws еще

Vitali K.
23.06.2016
19:06:29
Пока одна редка таска работает второй воркер будет мелки делать

Serge
23.06.2016
19:06:41
воркеров тоже до фига, но мне жалко целый воркер ради этой задачи тормозить

ну вот смотри, в воркере gevent и concurrency 200

и все 200 потоков ждут одну эту гадину

Serge
23.06.2016
19:07:40
ладно 40, не 200;) 200 у uwsgi :)

Vitali K.
23.06.2016
19:08:24
А. Т.е твой воркер расчитан на io задачи, не на cpu bound?

Serge
23.06.2016
19:08:52
ну типа

Vitali K.
23.06.2016
19:09:55
Может её куда-то в бэкграунд на расчёт поставить .. Не знаю какими средствами )

Serge
23.06.2016
19:10:06
и вот у меня там в задаче три вложенных цикла, причем внутренний по результатам запроса в базку

и я бы с удовольствием иногда давал другим задачам поработать

Vitali K.
23.06.2016
19:17:25
gevent.sleep(0) ?

нагуглил что свитчит контексты. мб поможет если втавить вглубь цикла в итеарацию?

Google
Serge
23.06.2016
19:18:39
ну в тредах sleep не помог

Vitali K.
23.06.2016
19:23:35
именнто gevent.sleep, не time.sleep. да?)

Serge
23.06.2016
19:27:37
gevent патчит sleep на свой

но я запускал локально в тредах

так вот запустил в gevent

помогло

прикольно

только я теперь его по ctrl+C остановить не могу:)

worker: Cold shutdown (MainProcess) ^C worker: Cold shutdown (MainProcess) ^C^C^C^C^C^C^C^C worker: Cold shutdown (MainProcess) ^C worker: Cold shutdown (MainProcess) ^C worker: Cold shutdown (MainProcess) ^C worker: Cold shutdown (MainProcess) ^C worker: Cold shutdown (MainProcess) ^C worker: Cold shutdown (MainProcess)

Vitali K.
23.06.2016
19:45:35
бгг

Admin
ERROR: S client not available

Vitali K.
23.06.2016
19:45:42
на SIGINT кто-то подписался?

Serge
23.06.2016
19:45:57
там был flower

но я его выключил уже

так в смысле? оно и подписалось

и оно его получает, и пытается сделать Cold shutdown:)

но не может

sigkill помог:)

всё, можно садится Flash-а досматривать:)

я тут, кстати, Sentry на стероиды посадил;)

Google
Serge
23.06.2016
19:50:05
на ITGM расскажу, наверное

Vitali K.
23.06.2016
19:50:12
это ты им 8M фандинга дал?)

Dmitry
23.06.2016
19:50:18
сентри тут же недавно получили кучу бабла

ага

Serge
23.06.2016
19:50:24
да ты чо?

может сделают нормальное что-то

идея отправлять логи в одно место, где слушает джанга, потом класть в редис, а потом обрабатывать в селери и складывать в постгрес - это полный ппц

я сделал из него сборщик в обратную сторону, который ходит за логами, а на ждет когда пришлют

а хосты пишут в файлики

ну я рассказывал

а теперь вот разделил еще морду и вокеров по двум автоскалинг группам в AWS

оно на одном хосте отстало на два дня!! с обработкой

пришла ASG выросла до 6 хостов и пережевала два дня отставания за 40 минут:)

ну и сспокойно уменьшилась до 2 хостов с нагрузкой в 20%

ляпота

Dmitry
23.06.2016
19:55:10
кул

Serge
23.06.2016
19:55:16
надо будет aws-ный докер хостинг попробовать. если там все также мимишно, как в большом EC2 - это просто няшка будет

кул, да, 7 ASG уже в проекте, такой зоопарк...

Language files blank comment code YAML 188 72 35 2320

Vitali K.
23.06.2016
20:02:44
кинь сюда зазипованые исходники плиз

Serge
23.06.2016
20:03:27
кинь сюда зазипованые исходники плиз
лол. может еще ключи от ssh?

Vitali K.
23.06.2016
20:03:38
?

Serge
23.06.2016
20:06:52
ну и наш маленький проектик Language files blank comment code Python 1019 11058 2460 51039

Страница 64 из 785