THANKS!!!

I totally forgot that programs can be listed in separate files.

i migrated to that model in a few minutes

in nginx, we do something similar:

        /sites-available
                all config files

        /sites-enabled
                symlinks to config files that are active ( in the form of `ln 
-s ../sites-available/NAME .`

so i set supervisord up with the same system.  

everything is managed in a source repo, so the solution was:

        1. split files out in source repo.  
                        
/config/environments/production/supervisor/supervisord.config
                        
/config/environments/production/supervisor/supervisord-sites-available

        2. update the deployment tool (which is Fabric) to mount the 
'available' directory onto /etc, create an enabled directory, and build out 
symliks

it's working super smoothly now.

i'll probably update the fabric tool to be a single interface to both issuing a 
`supervisorctl` command and updating a symlink for persistance.  

but we're also able to cheat a bit in nginx too -- there's an old (common?) 
trick to use the existence of a file as a control semaphore.  if the file 
exists ( /path/to/maintenance.on ), everything gets redirected to a maintenance 
page.  if the file doesn't exist, things serve as normal.  its useful for 
situations where you can't (or don't want to) reload the daemon.  
_______________________________________________
Supervisor-users mailing list
Supervisor-users@lists.supervisord.org
https://lists.supervisord.org/mailman/listinfo/supervisor-users

Reply via email to