서비스의 추가 인스턴스를 종료하고 이에 대한 알림을 받습니다.

서비스의 추가 인스턴스를 종료하고 이에 대한 알림을 받습니다.

내 서버에서 2개의 Ruby-on-Rails 애플리케이션이 실행되고 있습니다. 배포는 Capistrano를 통해 자동화됩니다. 애플리케이션은 Sidekiq을 사용하여 백그라운드 작업을 처리합니다.

나는 2개의 애플리케이션에 대해 두 개의 개별 스크립트를 사용하고 이를 다음 위치에 배치합니다./etc/init.d

deployer@experimental:~$ ls -l /etc/init.d/ | grep sidekiq
-rwxr-xrwx 1 root root 1988 Aug 23  2018 sidekiq_my_app_1
-rwxr-xr-x 1 root root 1993 Aug 23  2018 sidekiq_my_app_2

초기화 스크립트는 표시된 예제 스크립트의 수정된 버전입니다.여기.

다음과 같은 명령을 사용하여 스크립트를 시작/중지/다시 시작합니다.$ service sidekiq_my_app_1

일반적인 상황에서는 다음과 같이 애플리케이션당 하나의 Sidekiq 프로세스만 갖고 싶습니다.

deployer@experimental:~$ ps aux | grep sidekiq
deployer  1645  0.1  3.5 1150452 144188 ?      Sl   Jul16   4:29 sidekiq 5.0.4 my_app_1 [0 of 10 busy]
deployer  1658  5.4  7.3 1444620 298252 ?      Sl   Jul16 139:11 sidekiq 4.2.2 my_app_2 [0 of 10 busy]
deployer 22759  0.0  0.0  14516   940 pts/2    S+   12:31   0:00 grep sidekiq
deployer@experimental:~$

그런데 자동 배포 프로세스 중에 아래와 같이 애플리케이션의 여러 Sidekiq 프로세스가 시작되는 것을 확인했습니다.

deployer@experimental:~$ ps aux | grep sidekiq
deployer  1645  0.1  3.5 1150452 144188 ?      Sl   Jul16   4:29 sidekiq 5.0.4 my_app_1 [0 of 10 busy]
deployer  1658  5.4  7.3 1444620 298252 ?      Sl   Jul16 139:11 sidekiq 4.2.2 my_app_2 [0 of 10 busy]
deployer  1907  2.3  8.1 1703424 331276 ?      Sl   Jul16 150:02 sidekiq 4.2.2 my_app_2 [0 of 10 busy]
deployer 22759  0.0  0.0  14516   940 pts/2    S+   12:31   0:00 grep sidekiq
deployer@experimental:~$

이로 인해 백그라운드 작업이 예측할 수 없는 동작으로 이어질 수 있습니다.

추가 프로세스를 종료하고 애플리케이션당 하나의 프로세스만 사용하게 되는 위의 문제를 자동으로 해결하기 위한 몇 가지 솔루션을 제안할 수 있는 사람이 있습니까?

또한, 위의 문제에 대해 이메일/SMS를 통해 알림을 받을 수 있도록 몇 가지 해결 방법을 제안해 주시면 큰 도움이 될 것입니다.

감사해요.

관련 정보