Hi all, Looking for advice.
We're about to deploy queue-workers, which are essentially a shell-script which calls the PHP binary which keeps running and polling the jobqueue for jobs. Each website that we deploy to a server will get a queue-worker. These workers (there will be multiple per server) need to be kept running and should be started on boot, etc. Sound like an init-script for each worker would do the trick. My goal is to make it easy for developers to deploy new workers, i.e. they should be able to create a new init-script, pointing to the location of their shell-script, and be able to count on it getting deployed and started on the server. In other words: 1. The developer writes a shell-script called queue.sh and deploys it in the root of the website's directory. The shell-script starts the php cli binary which keeps running until it's stopped or dies for some reason. 2. They call a single define in our Puppet code that takes the path to queue.sh as a parameter and ensures the init-script is created from a template. 3. The server picks up the init-script and starts managing the service. 3. The init-script takes care of running the queue.sh script at boot and can stop/restart it when needed. 4. Repeat for each website. For the moment, we're on Ubuntu 14.04 so Upstart scripts would be a logical choice. In the future we'll move to Ubuntu 16.04, with systemd. I created a define that we can add to a node manifest. Here's an example of how I imagine calling this define: site::queueworker { 'website01': path => '/var/www/website01/queue.sh' } This drops a new Upstart init-script in /etc/init/ based on a template: /etc/init/queue-website01.conf I'm unsure if/how I can immediately use this new Upstart service in a service, e.g.: service {'queue-website01': ensure => running, enable => true}. I mean, how do Puppet and the init system know about the new service? Will that work, or am I going about this completely the wrong way? Should I be using supervised or something else instead? Thanks for any advice you can give. Martijn -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/3c2f1b1b-928d-441d-b3e1-461e60341842%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.