Как перезапустить процессы 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

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