Здорово, отцы!
Попал в засаду, как выбираться - без понятия. Нужна помощь клуба.
Есть хитропоиметое 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: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
-
- Уже с Приветом
- 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 все летает. И куда податься? Сразу говорю, в докерах не понимаю ни хера.
(шучу, не сердись)
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
-
- Уже с Приветом
- Posts: 549
- Joined: 07 Jan 2016 13:04
Re: Threads, Django и Docker
Что за Docker образ вы берете как исходный? Если какой-то микрообраз, то попробуйте во FROM указать убунту и/или дебиан, если заработает, то возможно у вас просто дефолтные библиотеки отвалились.
-
- Уже с Приветом
- Posts: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: Threads, Django и Docker
А фиг его знает!
![HBZ :pain1:](./images/smilies/pain25.gif)
![HBZ :pain1:](./images/smilies/pain25.gif)
Но все равно большое спасибо, поскольку я хотя бы вопросы умные смогу задать. А чтобы правильно задать вопрос, надо знать больше половины ответа...
Не задираться, а то съем!..
-
- Уже с Приветом
- 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: 13722
- Joined: 16 Jan 2001 10:01
Re: Threads, Django и Docker
В порядке бреда: логи специализированные, создаваемые приложением, или stdout/stderr?timeau wrote: 27 Nov 2019 05:00 В логах вижу сообщения исключительно от основной программы. И нифига от порожденной нитки.
Может ошибка выплевывается куда-то, где ты не смотришь?... stderr, syslog...
-
- Уже с Приветом
- Posts: 19935
- 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: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: Threads, Django и Docker
Через honocha и непосредственно uswgi из командной строки? Все летает. Локальный докер не запускал.f_evgeny wrote: 01 Dec 2019 15:13А если запустить имидж локально, залогинится в него и посмотреть, как оно там работает не пробовали?
Хотя сейчас уже все порешилось, как - не знаю. Видать, уважаемые devops чего-то подкрутили.
Всем спасибо!
Не задираться, а то съем!..