The last substantial piece of the service implementation puzzle, before getting into the concrete functionality, is getting a service program written in Python, to actually execute as a service at the OS level. The specifics of that process vary, unsurprisingly, across different operating systems (and even vary, to some extent, across different versions of some operating systems – Linux, in particular), but there are common operations that must be addressed across the board, as follows:
- Services need to be started when the machine they run on boots up
- Services need to stop gracefully, when the machine they run on is powered down or rebooted
- Services need to be able to be restarted (which is generally little more than a stop-then-start process)
Some service models might also benefit from being able to reload their data and/or configurations...