Konwertuj język Python na usługę: uruchamiaj skrypty jako usługę systemu Windows

Wielu ludzi, w tym ja, ceni Pythona za automatyzację zadań i tworzenie API dla narzędzi firm trzecich. Niestety, wciąganie biblioteki pywin32 tylko po to, aby przekonwertować Pythona na usługę, nie jest idealnym rozwiązaniem — zwłaszcza gdy pywin32 z jakiegoś powodu koliduje z projektem, którego sami nie napisaliśmy.

Istnieje kilka dobrych narzędzi rozwiązujących ten problem:

Jednak gdy potrzebna jest niezawodność i szybkie wdrożenie skryptu, mogą być one trudne w użyciu.
Z tych powodów opowiem dziś o EXE to Service, które ma na celu konwersję w trzy kliknięcia i zapewnienie niezawodności.


Jak przekonwertować Pythona na usługę Windows

Krok 1: Otwórz EXE to Service

Po zainstalowaniu EXE to Service na pulpicie pojawi się skrót.

Interfejs graficzny ma na celu jedynie uproszczenie tworzenia usługi. Jeśli używasz Windows Server bez interfejsu graficznego, masz dwie opcje:


Krok 2: Utwórz nową usługę

EXE to Service zawiera już gotowy przykład konwersji Pythona na usługę.

Wystarczy kliknąć przycisk "Utwórz z przykładu".

Konwertuj Pythona na usługę


Krok 3: Ustaw ścieżkę do skryptów Pythona

W oknie, które się pojawi, należy podać poprawne ścieżki:

Konfiguracja Pythona na usługę


Krok 4: Zapisz i uruchom usługę

Kliknij "Utwórz usługę", aby utworzyć usługę Windows.

Jeśli chcesz, aby usługa uruchomiła się natychmiast na tym komputerze, kliknij "Uruchom".

Po tym Python będzie:

W przyszłych artykułach wyjaśnię, jak tworzyć powiadomienia i alerty dla sytuacji krytycznych w Pythonie, gdy występują wycieki pamięci i procesora.


Podsumowanie

Python został pierwotnie opracowany jako język wysokiego poziomu i nie jest przeznaczony do uruchamiania w usługach Windows — ale narzędzia takie jak EXE to Service rozwiązują ten problem w czysty sposób. Opakuj swój skrypt .py w powłokę, a będzie on uruchamiał się przy starcie systemu, działał po wylogowaniu i integrował się z services.msc — bez potrzeby stosowania skomplikowanych obejść.


Pobierz EXE_Service.msi i przekształć dowolny plik .exe w usługę Windows w kilka sekund.