Zarządzanie procesami – supervisord

Tak jak pisałem wcześniej – zarządzanie procesami jest bardzo istotnym elementem każdego kto chce pisać własne programy które mają działać non stop (a przynajmniej prawie non stop). Trzeba zorganizować sobie środowisko które będzie pozwalać na łatwe zatrzymanie i uruchamianie aplikacji jak i jej automatyczne restartowanie czy podnoszenie po „awarii”.

Python, pip i virtualenvy

Często dzieje się tak że nasze programy muszą działać cały czas. Przykładem mogą być np. jakieś serwery TCP, zbieracze danych, okresowe przeliczenia jakiś danych itp. Oczywiście możemy taki program uruchomić i on będzie sobie chodził w tle, ale w taki sposób ciężko nim zarządzać. Pisząc „zarządzać” mam na myśli zatrzymywać, restartować, podglądać stan procesu itp. Cykl dwóch wpisów pokaże jak można osiągnąć łatwe utrzymanie swoich programów.