SvcD class and "svcd" command to run persistent service programmes.
Project description
This provides the features one wants from a daemon for arbitrary commands providing a service:
process id (pid) files for both svcd and the service command
filesystem visible status (command running, service enabled) via cs.app.flag
command restart if the command exits
command control (stop, restart, disable) via cs.app.flag
test function to monitor for service viability; if the test function fails, do not run the service. This typically monitors something like network routing (suspend service while laptop offline) or a ping (suspend ssh tunnel while target does not answer pings).
signature function to monitor for service restart; if the signature changes, restart the service. This typically monitors something like file contents (restart service on configuration change) or network routing (restart ssh tunnel on network change)
callbacks for service command start and end, for example to display desktop notifications
I use this to run persistent ssh port forwards and a small collection of other personal services. I have convenient shell commands to look up service status and to start/stop/restart services.
See cs.app.portfwd which I use to manage my ssh tunnels; it is a single Python programme running multiple ssh commands, each via its own SvcD instance.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cs.app.svcd-20171118.tar.gz
.
File metadata
- Download URL: cs.app.svcd-20171118.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db5263b8aeb7d1700e0969d10dd9a53cbe1317c5a367f72ced678e460c774793 |
|
MD5 | 75d42278d7c79f55286c9b6b3bde3fd4 |
|
BLAKE2b-256 | eb2e4e002f4fe44e6baae606aaa0e842521462c125ae935662089e0a79c88c0d |