/ / Ansible playbook за намиране на конкретен Java процес и убийство - java, jar, find, ansible, microservices

Възможни плейъри, за да откриете конкретен процес на Java и да убивате - java, jar, find, asible, microservices

Работя върху внедряването на микрослужби с ansible-playbook точно сега. И всички микрослужби използват java -jar команда за разгръщане. Точно сега се опитвам да напиша книга за възпроизвеждане на ansible, за да открия и убия зависимия java-процес, преди да инсталира друг.

Аз изтичам на идеи тук. Мислех си за създаване на скрипт в init.d за java deamon.

Изход за ps -ef | grep java

корен 28330 1 1 13:52? 00:00:56 java -jar -DCONFIG_FOLDER = / opt / app / microservices / deploy / dal-core / config /opt/app/microservices/deploy/dal-core/enrollment-vehicle-dal-core-0.0.1-SNAPSHOT.jar

корен 29143 1 2 14:22? 00:00:49 java -jar -DCONFIG_FOLDER = / opt / app / microservices / deploy / dal-core / конфиг /opt/app/microservices/deploy/dal-core/enrollment-vehicle-listener-0.0.1-SNAPSHOT.jar

корен 29879 1 2 14:23? 00:00:48 java -jar -DCONFIG_FOLDER = / opt / app / microservices / deploy / dal-core / конфиг /opt/app/microservices/deploy/dal-core/enrollment-account-dal-core-0.0.1-SNAPSHOT.jar

корен 31093 1 3 14:28? 00:01:04 java -jar -DCONFIG_FOLDER = / opt / app / microservices / deploy / listener / конфиг /opt/app/microservices/deploy/listener/enrollment-account-listener-0.0.1-SNAPSHOT.jar

asadmin 31208 18879 0 14:57 pts / 1 00:00:00 grep - цвят = автоматично java

В горния сценарий, Ако се случи отново да се разгърне регистрация-акаунт-dal-core отново, трябва да убия enrollment-account-listener (pid: 31093) и след това да влезе в сметката-dal-core (pid: 29879).

Имам един плейбек за всички микрослужби, така че няма да мога да го опиша.

Отговори:

0 за отговор № 1

Не съм сигурен, но се надявам pattern параметър в service модул ще реши проблема ви. Можете да намерите документация тук, Мисля, че вашата задача Ansible ще изглежда като този код:

- name: Killing enrollment-account-listener
service:
name: enrollment-account-listener
state: stopped
pattern: enrollment-account-listener

Документацията казва, ако услугата с дадено име не отговаря на командата за статуса на услугата, след това намерете pattern в изхода на командата ps. Ако низът е намерен, услугата ще се счита за изпълнена.

Ако няма да работи, все още можете да използвате command или shell модул за намиране на решение на този проблем.