Здорово, отцы!
Попал в засаду, как выбираться - без понятия. Нужна помощь клуба.
Есть хитропоиметое Django приложение, где от Django только healthcheck и есть. Реально это сервис: healthcheck запускает отдельный thread, который слушает Кафку, тянет оттуда, что надо, делает, что требуется и пишет, куда скажут. Все работает на локальной машине под Линухом на пять с плюсом.
Проблема в том, что мы сейчас бегаем вперед хвостом, и deployment производится посредством TeamCity в докерный контейнер. И вот тут собака порылась: thread однозначно живой, подтверждается healthcheck'ом, но не печатает даже первой строчки типа "Я тута!". Такое впечатление, что породиться-то он породился, но его что-то держит и не дает продвинуться ни на один оператор.
Так, на всякий случай: uwsgi запускается с параметром --enable-threads --threads 5. В логах вижу сообщения исключительно от основной программы. И нифига от порожденной нитки. Памяти в докер дал 4 гига, раза в 2 больше, чем надо бы, на всякий случай. CPU=1, хотя и 0.1 было бы достаточно.
P.S. Я знаю про GIL. И да, еще раз: на обычном, не докерном, Linux все летает. И куда податься? Сразу говорю, в докерах не понимаю ни хера.
Threads, Django и Docker
-
- Уже с Приветом
- Posts: 17538
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Threads, Django и Docker
Не задираться, а то съем!..
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Threads, Django и Docker
Сабина, перелогинься!timeau wrote: ↑27 Nov 2019 05:00 Здорово, отцы!
Попал в засаду, как выбираться - без понятия. Нужна помощь клуба.
Есть хитропоиметое Django приложение, где от Django только healthcheck и есть. Реально это сервис: healthcheck запускает отдельный thread, который слушает Кафку, тянет оттуда, что надо, делает, что требуется и пишет, куда скажут. Все работает на локальной машине под Линухом на пять с плюсом.
Проблема в том, что мы сейчас бегаем вперед хвостом, и deployment производится посредством TeamCity в докерный контейнер. И вот тут собака порылась: thread однозначно живой, подтверждается healthcheck'ом, но не печатает даже первой строчки типа "Я тута!". Такое впечатление, что породиться-то он породился, но его что-то держит и не дает продвинуться ни на один оператор.
Так, на всякий случай: uwsgi запускается с параметром --enable-threads --threads 5. В логах вижу сообщения исключительно от основной программы. И нифига от порожденной нитки. Памяти в докер дал 4 гига, раза в 2 больше, чем надо бы, на всякий случай. CPU=1, хотя и 0.1 было бы достаточно.
P.S. Я знаю про GIL. И да, еще раз: на обычном, не докерном, Linux все летает. И куда податься? Сразу говорю, в докерах не понимаю ни хера.
(шучу, не сердись)
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Threads, Django и Docker
Что за Docker образ вы берете как исходный? Если какой-то микрообраз, то попробуйте во FROM указать убунту и/или дебиан, если заработает, то возможно у вас просто дефолтные библиотеки отвалились.
-
- Уже с Приветом
- Posts: 17538
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: Threads, Django и Docker
А фиг его знает! Есть такой шаловливый народец, devops называется. Раса мелкая и вредная, за очень редкими исключениями. Мы девелопим, а потом рисуем TeamCity pipeline на основании их шаблонов. И все. Что за образ, как они его пекут - ХЗ.
Но все равно большое спасибо, поскольку я хотя бы вопросы умные смогу задать. А чтобы правильно задать вопрос, надо знать больше половины ответа...
Не задираться, а то съем!..
-
- Уже с Приветом
- Posts: 2846
- Joined: 28 Jun 2000 09:01
- Location: Milwaukee, WI
Re: Threads, Django и Docker
Может что-то с "ulimit" не так. Количество открытых файлов или user processes.
Спросите у devops про "ulimit"
Спросите у devops про "ulimit"
moria# show running-config
-
- Уже с Приветом
- Posts: 13681
- Joined: 16 Jan 2001 10:01
-
- Уже с Приветом
- Posts: 19924
- Joined: 30 Aug 2000 09:01
- Location: WA
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
Re: Threads, Django и Docker
А если запустить имидж локально, залогинится в него и посмотреть, как оно там работает не пробовали?timeau wrote: ↑27 Nov 2019 05:00 Проблема в том, что мы сейчас бегаем вперед хвостом, и deployment производится посредством TeamCity в докерный контейнер. И вот тут собака порылась: thread однозначно живой, подтверждается healthcheck'ом, но не печатает даже первой строчки типа "Я тута!". Такое впечатление, что породиться-то он породился, но его что-то держит и не дает продвинуться ни на один оператор.
Дальше, все будет только хуже. Оптимист.
-
- Уже с Приветом
- Posts: 17538
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: Threads, Django и Docker
Через honocha и непосредственно uswgi из командной строки? Все летает. Локальный докер не запускал.
Хотя сейчас уже все порешилось, как - не знаю. Видать, уважаемые devops чего-то подкрутили.
Всем спасибо!
Не задираться, а то съем!..