Рейтинг:0

System PathChanged срабатывает слишком быстро

флаг mx

У меня проблема с настройкой systemd. У меня есть служба, которая запускает мою среду MEAN-Stack на сервере.

[Ед. изм]
Описание=Фронтенд-сервер
After=network.target backend.service

[Оказание услуг]
Тип=простой
Пользователь = средний
ExecStart=/somepath/server.sh
Перезапустить = всегда
Рабочий каталог =/какой-то путь/

[Установить]
WantedBy=многопользовательская.цель

Теперь я добавил конвейер автоматического развертывания, и чтобы заставить его работать, я добавил файлы .path и .service для каждой службы, чтобы перезапускать их при развертывании.

[Дорожка]
Unit=frontend-watcher.service
PathChanged=/какой-то путь

[Установить]
WantedBy=многопользовательская.цель
[Ед. изм]
Описание=перезапуск внешнего интерфейса
После=network.target

[Оказание услуг]
Тип = ваншот
ExecStart=/usr/bin/systemctl перезапустить frontend.service

[Установить]
WantedBy=многопользовательская.цель

Пока это работает с одной проблемой. Настройка срабатывает слишком быстро и слишком часто, потому что наблюдатель срабатывает для каждого загруженного файла. Из-за этого появляется сообщение об ошибке, но оно все еще работает, и файлы обновляются (веб-сайт запускает новый код).

Теперь мне было интересно, есть ли способ изменить поведение. В идеале срабатывать только после завершения загрузки. Моя единственная идея (новичок на сервере) - загружать последний файл после каждого развертывания и смотреть только этот файл. Таким образом, он сработает только в конце один раз. Но я думал, что может быть лучший способ.

Michael Hampton avatar
флаг cz
Как компьютер может знать, что «загрузка завершена», когда это неизвестное количество файлов? Вы должны как-то сказать это явно. Еще лучше, чтобы ваш инструмент развертывания просто перезапустил сам сервис.

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

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