On 5/24/07, Ian Bicking <[EMAIL PROTECTED]> wrote: > Mike Orr wrote: > > On 5/22/07, Ian Bicking <[EMAIL PROTECTED]> wrote: > >>> My other question is, paster has a --monitor-restart option to restart > >>> the server if it dies. But the Pylons Cookbook has recipes for > >>> daemontools and supervisor2. Are these better than paster's monitor > >>> for some reason, or are they all interchangeable? > >> They all work the same basic way. paster's is simpler, obviously, since > >> it's just one option. But it hasn't been tested a whole lot, so I > >> dunno. Also it probably has more overhead than daemontools, though I > >> don't know if it really is significant. > > > > I looked through supervisor2 and am really impressed with its > > features, but I couldn't get it to run my application and it wouldn't > > say why not. According to the docs, this happens frequently for a few > > reasons that didn't seem to apply. I wish it would take more care to > > write a specific error message. > > A good way to use supervisor2 is to write a shell script that you know > starts your application, and then give that to supervisor2. If you do, > be sure you do "exec paster ...", as this replaces the shell process > with the paster process, and signals will be properly sent from > supervisord to paster. > > > I suspect the problem was needing to set the PATH and PYTHONPATH to > > match my workingenv. I used the beta version of supervisor2 which > > lets you set per-application environment variables. But the app just > > wouldn't start for no reason so I don't know if they were set. I > > tried launching "printenv" but it also quit silently -- and without > > printing the environment to the log file. > > > > Paster with --monitor-restart worked for two days but after I made a > > little change in my application, it got into a curious snit where it > > starts the application successfully but doesn't realize it has, so it > > restarts itself again and again... The console (Gentoo) says: > > Are you using trunk? I think this bug was fixed there.
I agree with what Ian said. I'd also like to add: * Use "su -m theuser" to try running the application as the user that is used in production. This helps work out a bunch of environmental difficulties. * If you're not getting enough logging, and STDOUT and STDERR are getting swallowed, sometimes it's helpful to output things to a file: echo "Help!" >> /tmp/web.log env >> /tmp/web.log Happy Hacking! -jj -- http://jjinux.blogspot.com/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~----------~----~----~----~------~----~------~--~---
