Рейтинг:0

NixOS запускает пример процесса демона — не работает ли пример?

флаг cn

В примере приложения python flask, приведенном на https://nixos.org/guides/dev-environment.html ... Разве это не просто убивает процесс демона, независимо от того, проходит ли он проверку работоспособности или нет? Может быть, происходит что-то неявное, чего я не понимаю?

Вы также можете запустить bash-скрипт, подобный этому, в своем CI, чтобы убедиться, что ваш default.nix продолжит работать в будущем.

#!/usr/bin/env nix-shell
#! nix-shell -i bash
установить -euo pipefail

# запустить myapp в фоновом режиме и сохранить идентификатор процесса
python myapp.py >> /dev/null 2>&1 &
код=$!

# хорошо, у нас есть pid

if [[ $(curl --retry 3 --retry-delay 1 --retry-connrefused http://127.0.0.1:5000) == "Привет, Никс!" ]]; тогда
    echo "УСПЕХ: myapp.py обслуживает ожидаемую строку"
    # и если проверка работоспособности проходит успешно, мы убиваем процесс python
    убить $pid
    выход 0
еще
    echo "НЕУДАЧА: myapp.py не обслуживает ожидаемую строку"
    # и если проверка работоспособности не удалась, мы убиваем процесс python
    убить $pid
    выход 1
фи
Рейтинг:0
флаг ua

В этом примере речь идет не о запуске демона в качестве службы с длительным сроком службы, а о запуске демона в качестве кратковременной проверки CI, чтобы убедиться, что все по-прежнему работает, когда кто-то действительно хочет запустить долговременный демон.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.