Как перезапустить процессы CKAN (но не задания/работники) внутри работающего контейнера разработки ckan-docker?Python

Программы на Python
Ответить
Anonymous
 Как перезапустить процессы CKAN (но не задания/работники) внутри работающего контейнера разработки ckan-docker?

Сообщение Anonymous »

Я разрабатываю расширения CKAN, используя официальную настройку ckan-docker с образами разработки, и мне нужно перезапустить CKAN после различных обновлений моего расширения.
Внутри моего основного контейнера ckan (запускается через start_ckan_development.sh) выполняются следующие процессы CKAN:

Код: Выделить всё

$ ps ax
PID TTY      STAT   TIME COMMAND
1 ?        Ss     0:00 /bin/bash /srv/app/start_ckan_development.sh
74 ?        S      0:14 /usr/bin/python3 /usr/bin/supervisord --configuration /etc/supervisord.conf
75 ?        S      0:03 /usr/local/bin/python3.10 /usr/local/bin/ckan -c /srv/app/ckan.ini run -H 0.0.0.0
76 ?        Sl     0:49 /usr/local/bin/python3.10 /usr/local/bin/ckan -c /srv/app/ckan.ini jobs worker
266 ?        Sl    34:57 /usr/local/bin/python3.10 /usr/local/bin/ckan -c /srv/app/ckan.ini run -H 0.0.0.0
16360 pts/0    Ss     0:00 bash
16373 pts/0    R+     0:00 ps ax
Основные процессы запуска CKAN запускаются с помощью сценария оболочки (

Код: Выделить всё

start_ckan_development.sh
), который содержит следующую логику:

Код: Выделить всё

...
# Start the development server as the ckan user with automatic reload
while true; do
$CKAN_RUN $CKAN_OPTIONS
echo Exit with status $?. Restarting.
sleep 2
done
Вопрос:

Как я могу перезапустить только процессы CKAN, работающие в качестве сервера (т. е. те, с командой /usr/local/bin/ckan -c /srv/app/ckan.ini run...), без перезапуска всего контейнера – и, в идеале, не затрагивая запущенные задания/рабочий процесс?
Я пытался завершить -9 процессы запуска, но сценарий, похоже, просто перезапускает их. Есть ли простой способ запустить перезапуск сервера CKAN (для перезагрузки кода/конфигурации во время разработки) изнутри контейнера, не затрагивая задания/рабочие процессы и не уничтожая весь контейнер?
Контекст:
  • образы разработки ckan-docker
  • Разработка локальных расширений, часто требующая перезапуска приложения
  • Хотите избежать перезапуска docker-compose ckan, чтобы база данных и задания не прерывались
Есть предложения? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/798 ... n-docker-d
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»