콘텐츠로 이동

Python

Process restart automation

목적

memory leak 이슈에 일단 자동으로 대응하기 서비스를 재시작 하는 파이썬 코드를 작성했습니다.

설명

  1. python3.4 부터 호환 가능하도록 작성했습니다.
  2. 서비스명을 argument 형태로 입력받습니다.
  3. 현재 메모리 사용량을 확인합니다. /proc/meminfo를 활용합니다. free나 top등의 명령을 이용하도 되지만 datadog에서 확인했을때 동일한 usage를 확인할 수 있는 방법은 /proc/meminfo를 열어보는 것 밖에 없었습니다
  4. 1번에서 입력받은 서비스가 현재 동작중인지 확인합니다. argument설정 에러로 현재 동작중이지도 않은 서비스를 실행시킬수도 있기 때문입니다.
  5. 1번에서 입력받은 서비스들을 stop & start 합니다
  6. process가 잘 올라왔는지 검증합니다. /proc/ 를 이용해 확인합니다
  7. 서비스로그에서 추가 검증이 가능한 경우 로그도 검증합니다

재난안전문자 공공 API 활용하기

목적

재난문자 발생 시점마다 트래픽이 튀어서 광범위로 발송되는 재난문자 발생 시점 파악이 필요했습니다.
때문에 재난문자 발생 시 Slack으로 알람을 쏴주도록 구성해보았습니다

Python 환경 관리: alternatives, poetry, conda

  1. alternatives (심볼링 링크 자동화)
    • 장점:
      간단한 방식으로 시스템 전체에서 사용할 Python 버전을 쉽게 변경할 수 있습니다.
    • 단점:
      프로젝트별 가상 환경을 지원하지 않아, 여러 프로젝트에서 서로 다른 종속성을 가진 경우 관리가 어렵습니다.