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
-~----------~----~----~----~------~----~------~--~---

Reply via email to