172 похожих чатов

Как прокинуть идентификатор реплики в переменную окружения контейнера? Мне надо что

бы каждая реплика знала свой номер

docker-compose.yml
version: '3.8'
services:
vosk_cpu_worker:
#scale: 2
deploy:
mode: replicated
replicas: 3
environment:
- WORKER_ID={{.Task.ID}}
build: vosk_cpu_worker

vosk_cpu_worker.py
print('start', os.environ.get('WORKER_ID', 'unknown'))
# out:
vosk_cpu_worker_3 | start {{.Task.ID}}
vosk_cpu_worker_2 | start {{.Task.ID}}
vosk_cpu_worker_1 | start {{.Task.ID}}

11 ответов

29 просмотров

из переменных окружения надо вот так ${козявка}

Alex-Yurasov Автор вопроса
Nazar
из переменных окружения надо вот так ${козявка}

Это что бы прокинуть одну переменную с хоста во все экземляры. Это я могу, но нужно немного другое. Экземпляров будет 20. deploy: mode: replicated replicas: 20 Каждый будет брать свою очередь в SQL. Нужно что бы каждый экземляр знал свою очередь. Например при исполнении print('start', os.environ.get('WORKER_ID', 'unknown')) Ответ ожидается примерно таким: vosk_cpu_worker_1 | start 0 vosk_cpu_worker_2 | start 1 ...

Alex-Yurasov Автор вопроса
Alex Yurasov
Это что бы прокинуть одну переменную с хоста во вс...

Придётся делать генератор docker-compose файла, в котором будут перечислены все экземпляры отдельными сервисами🤔

Так только swarm умеет

Alex-Yurasov Автор вопроса
Максим Мартынов
Так только swarm умеет

Вот я подозревал! Благодарю. Буду swarm учить в пн

Alex-Yurasov Автор вопроса
Максим Мартынов
А надо? Какие масштабы нужны?

Масштабы небольшие. 20 процессов будут конвертить файлы и отправлять их на удаленный сервер, потом складывать данные в скуль Если вымирающий, то есть у меня еще вариант брать id поочередно блокируя файл из volume. Правда застрял на какой то детской проблеме PermissionError: [Errno 13] Permission denied при попытке прочитать файл даже единственным экземпляром. Обычно это лечится - через поспать

Alex Yurasov
Масштабы небольшие. 20 процессов будут конвертить ...

Лечится через chmod или правильного пользователя в контейнере

Alex-Yurasov Автор вопроса
Максим Мартынов
Лечится через chmod или правильного пользователя в...

chmod уже и на хосте пробовал и в Dockerfile бестолку

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта