noseapp extension for linux daemon testing
Project description
Installation
pip install noseapp_daemon
Create Runner
from noseapp.ext.daemon import DaemonRunner class MyPythonDaemon(DaemonRunner): CMD_PREFIX = 'python' DAEMON_BIN = '/path/to/daemon/daemon.py' my_daemon = MyPythonDaemon('my_daemon') my_daemon.add_cmd_option('-c', '/path/to/config') my_daemon.start()
Create daemon plugin
from noseapp.ext.daemon import DaemonPlugin class MyPythonDaemonPlugin(DaemonPlugin): def init(self, daemon): # do something def before_start(self, daemon): # do something def after_start(self, daemon): # do something def before_stop(self, daemon): # do something def after_stop(self, daemon): # do something my_daemon = MyPythonDaemon('my_daemon', plugin=MyPythonDaemonPlugin())
Create Service
from noseapp.ext.daemon import DaemonService class MyDaemonService(DaemonService): name = 'my_service' def setup(self): self.daemon = MyPythonDaemon('my_daemon') def start(self): self.daemon.start() def stop(self): self.daemon.stop() ... service = MyDaemonService() service.start() service.restart()
Create Management
from noseapp.ext.daemon import DaemonManagement management = DaemonManagement(app) management.add_daemon( MyPythonDaemon('my_daemon', plugin=MyPythonDaemonPlugin()), ) daemon = management.daemon('my_daemon') def error_handler(daemon, e): # do something with management.checkout_daemon('my_daemon', except_exc=Exception, error_handler=error_handler) as daemon: daemon.restart() management.add_service(MyDaemonService()) service = management.service('my_service') # to install as extension management.install(app) suite = Suite(__name__, require=['my_daemon']) # management.stop_all() # management.stop_daemons() # management.stop_services() # management.restart_all() # etc ...
Presets
noseapp.ext.daemon.presets import NGINXDaemon noseapp.ext.daemon.presets import UWSGIDaemon ... nginx = NGINXDaemon() uwsgi = UWSGIDaemon() nginx.add_cmd_option('-c', '/path/to/config') uwsgi.add_dmd_option('--ini', '/path/to/config') nginx.start() uwsgi.start() ...
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
noseapp_daemon-2.3.0.tar.gz
(7.8 kB
view details)
File details
Details for the file noseapp_daemon-2.3.0.tar.gz
.
File metadata
- Download URL: noseapp_daemon-2.3.0.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b56864e3c7511c366329b34e72e9551d996f0baab942938c0374667187519ccd |
|
MD5 | 0df2bd45bd6bdc799053787a3cf6d34e |
|
BLAKE2b-256 | bb1ccdfa8dcb71187f3756f34f0df77a989b1b16ca91a770e8407711e0774c81 |