RE: [Zope] Perl daemon to restart hung Zope on RedHat
I don't use it since Zope 2.1.6, because I've not experienced any hang since this date. However I've just looked at the code and I can't see anything which would prevent it from being run in the background:
isdazope.py [options] &
I don't know how to really daemonize it, though.
bye,
Jerome Alet
As I'm sure you know, but for the benefit of others who might not, backgrounding it still needs an open console to run, and that is what I wanted to avoid. Oh well, maybe someone who knows about making a Python daemon could step in at this point and save us? Craig
I don't use it since Zope 2.1.6, because I've not experienced any hang since this date. However I've just looked at the code and I can't see anything which would prevent it from being run in the background:
isdazope.py [options] &
I don't know how to really daemonize it, though.
bye,
Jerome Alet
As I'm sure you know, but for the benefit of others who might not, backgrounding it still needs an open console to run, and that is what I wanted to avoid. Oh well, maybe someone who knows about making a Python daemon could step in at this point and save us?
Well, wouldn't you put it in your /etc/rc.d/rc.local script ( or the like on other OSs )? me = { 'name' : 'Zachery Bir', 'email' : 'zbir@urbanape.com', 'voice' : '(804) 353-3742', 'url' : 'http://www.urbanape.com/' }
On Fri, 29 Jun 2001, Dunigan, Craig wrote:
I don't use it since Zope 2.1.6, because I've not experienced any hang since this date. However I've just looked at the code and I can't see anything which would prevent it from being run in the background:
isdazope.py [options] &
I don't know how to really daemonize it, though.
bye,
Jerome Alet
As I'm sure you know, but for the benefit of others who might not, backgrounding it still needs an open console to run, and that is what I wanted to avoid. Oh well, maybe someone who knows about making a Python daemon could step in at this point and save us?
It's no different than daemonizing any unix program. Check out the Stevens' book for informaiton on how to do it in C. The methods transport right over to python. If I remember, setsid is important to the whole operation after you fork. Or something. Zope already runs as a deamon, although it doesn't do monitoring. When you run z2.py, Zope splits into two processes, a parent and a child. If the child *exits* with an error code, the parent will restart it. This doesn't help hangs. But if you look inside lib/python/zdaemon.py you'll see a 'heartbeat()' method with some stuff commented out. This is a heartbeat mechanism that we wrote into zdaemon.py. The parent process can 'kick' the child with an http request over time intervals. Probably nobody knows about it except me. ;) You can rewrite the heartbeat() function to restart the child on certain errors. In fact, this part of Zope was meant to do whta you guys are doing, so if you actually finish it for me I'll check it in. -Michel
Michel Pelletier wrote:
But if you look inside lib/python/zdaemon.py you'll see a 'heartbeat()' method with some stuff commented out. This is a heartbeat mechanism that we wrote into zdaemon.py. The parent process can 'kick' the child with an http request over time intervals. Probably nobody knows about it except me. ;)
cool :-) You learn something new everyday... cheers, Chris
On Fri, 29 Jun 2001, Dunigan, Craig wrote:
I don't use it since Zope 2.1.6, because I've not experienced any hang since this date. However I've just looked at the code and I can't see anything which would prevent it from being run in the background:
isdazope.py [options] &
I don't know how to really daemonize it, though.
As I'm sure you know,
No ! I don't.
but for the benefit of others who might not, backgrounding it still needs an open console to run, and that is what I wanted to avoid. Oh well, maybe someone who knows about making a Python daemon could step in at this point and save us?
What do you mean by: "needs an open console to run" ? Thanks in advance. Jerome Alet
participants (5)
-
Chris Withers -
Dunigan, Craig -
Jerome Alet -
Michel Pelletier -
zbir@urbanape.com