A script to install paste deployment configurations as windows services.
There are many deployment scenarios with Python web applications. Without diving into all the options I’ll suppose part of your deployment is utilizing Paste Deployment (http://pythonpaste.org/deploy/) . To test and develop your application you use “paster serve some_name.ini”. Now to setup the application so that it runs after log off or restart you need a customized Windows service.
There are a couple of recipes around to achieve this but, you have to copy and paste some code and hardcode the name and config file into it. I’ve put together a little tool which helps creating windows services, based on arbitrary configuration parameters.
1. install the tool
This adds the wsgisvc.exe into your scripts directory. Python extensions for Windows are a prerequisite. If you don’t have them download (http://sourceforge.net/project/showfiles.php?group_id=78018) them and install.
2. Extend your *.ini file
with a [winservice] section. The list of options you can use:
If you don’t use the [winservice] section, the configuration file will be used as service name. Sensible defaults will be made up for the rest.
3. Install the service
wsgisvc -c some_name.ini install
This adds the service “svc1” to your system. You can check it out under display name “svc1 Paste Service” through Administrative Tools -> Services. To start the service you can either use that or command line:
wsgisvc -c some_name.ini start
And the last thing, to list display names of all installed Paste services:
Source code of the package
Any feedback or corrections are appreciated.