내 기본 Python 애플리케이션을 실행하는 시스템 단위 "my-app"이 있지만 원격 서버에서 새 버전을 사용할 수 있을 때 자동으로 업데이트되기를 원합니다. 탐지는 동일한 OS("watch-app"이라고 함)의 다른 Python 시스템 장치에 의해 모니터링됩니다. 이 장치는 검사를 수행하고 오래된 파일을 다운로드하여 새 파일로 교체하며 "my-app"에 알림을 보냅니다. 상태를 "업데이트 준비 완료"와 같은 것으로 변경할 수 있습니다.
나는 적어도 이 작업을 수행하기 위한 최선의 전략을 찾고 있습니다. 내가 찾은통지하다하지만 알림을 받는 방법이 명확하게 설명되어 있지 않으며 이에 대한 튜토리얼도 찾을 수 없습니다.
어쩌면 내가 잘못된 길로 가고 있는 건 아닐까? 어떤 도움이라도 대단히 감사하겠습니다. 감사해요
답변1
sdnotify
서비스가 상태가 변경되었음을 systemd와 통신하는 데 사용됩니다(예: 서비스 상태에 따라 Type=
서비스 시작이 완료된 경우).
서비스 간에 정보를 교환하려면 원하는 대로 수행하십시오. 일반적으로 UNIX 도메인 소켓은 간단한 접근 방식이지만 dbus
서비스 검색 등이 필요한 경우 이는 좋은 접근 방식입니다.
관찰 서버가 systemd를 호출하여 영향을 받는 서비스를 중지한 다음 해당 파일을 업데이트하고 systemd를 다시 호출하도록 할 수 있습니다. 일을 너무 복잡하게 만들 필요가 없습니다!