Re: [uWSGI] Help with the --reaper option for experienced uwsig users?

2012-10-22 Thread Andrew Fischer
Sorry, I meant to say at the end I realize uwsgi is not the problem
here; I blame *hgweb* and buildbot.

-Andrew


On Mon, Oct 22, 2012 at 9:14 AM, Andrew Fischer wizzr...@gmail.com wrote:
 I've been running uwsgi for about a year and I've run into a situation
 that I can't seem to sort out. I'm not positive there is a good
 solution, but maybe someone with far more knowledge than I could shed
 some light. I'll give some background, please bear with me.

 I run uwsig behind nginx to run a simple mercurial hgweb server. My
 uwsgi configuration is pretty basic:

 -M -p 4 -d /var/log/$daemon_name.log --pidfile /run/$daemon_name.pid
 --pythonpath $hgwebpath --module $hgwebmodule

 However, I recently added buildbot to our setup, which is triggered by
 a commit hook in hgweb. It's all built in stuff, I didn't write any of
 it.

 Unfortunately this hook uses fork, and so generates defunct uwsgi
 instances when it occurs. It appears to be a known issue with the
 buildbot.

 I decided uwsgi's --reaper option looked like it might help me out. It
 did the trick, very handy since I didn't want to wade into the
 buildbot codebase. Like the manual for --reaper says you should fix
 your process spawning usage (if you can) ... and I don't think I can.

 However, after enabling reaper I noticed that very large commit pushes
 to hgweb over http would cause the process to be killed. It would
 happen anytime a push of 20MB or larger was pushed up to the server.
 (This is extremely rare, we just happen to have a project that carries
 this much baggage).

 After a lot of reading and testing, I found that by removing the
 --reaper option from uswgi, the commits would no longer be killed. I
 could push up as large a bundle as I liked (+100MB). However, without
 the reaper my buildbot is back to leaving zombies all over the place.

 Do any of you know more about the --reaper option, and if there is any
 additional control over how it determines what a zombie process is? Or
 is there is a different uwsgi option I should use? I fully realize
 uwsgi is not the problem here; I blame uwsig and buildbot. But since
 uwsgi is so flexible I wondered if there might be a way to have my
 cake and eat it too, so to speak.

 Big thanks for any feedback.
 -Andrew



 --
 Andrew Fischer



-- 
Andrew Fischer
LT Engineering Software
http://ltengsoft.com
___
uWSGI mailing list
uWSGI@lists.unbit.it
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi


Re: [uWSGI] Help with the --reaper option for experienced uwsig users?

2012-10-22 Thread Łukasz Mierzwa
2012/10/22 Andrew Fischer wizzr...@gmail.com:

 However, I recently added buildbot to our setup, which is triggered by
 a commit hook in hgweb. It's all built in stuff, I didn't write any of
 it.

Do You use this hook:

http://buildbot.net/buildbot/docs/0.8.7/manual/cfg-changesources.html#mercurial-hook

?? If not then please share its code.

-- 
Łukasz Mierzwa
___
uWSGI mailing list
uWSGI@lists.unbit.it
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi


Re: [uWSGI] Help with the --reaper option for experienced uwsig users?

2012-10-22 Thread Roberto De Ioris

Il giorno 22/ott/2012, alle ore 16:14, Andrew Fischer wizzr...@gmail.com ha 
scritto:

 I've been running uwsgi for about a year and I've run into a situation
 that I can't seem to sort out. I'm not positive there is a good
 solution, but maybe someone with far more knowledge than I could shed
 some light. I'll give some background, please bear with me.
 
 I run uwsig behind nginx to run a simple mercurial hgweb server. My
 uwsgi configuration is pretty basic:
 
 -M -p 4 -d /var/log/$daemon_name.log --pidfile /run/$daemon_name.pid
 --pythonpath $hgwebpath --module $hgwebmodule
 
 However, I recently added buildbot to our setup, which is triggered by
 a commit hook in hgweb. It's all built in stuff, I didn't write any of
 it.
 
 Unfortunately this hook uses fork, and so generates defunct uwsgi
 instances when it occurs. It appears to be a known issue with the
 buildbot.
 
 I decided uwsgi's --reaper option looked like it might help me out. It
 did the trick, very handy since I didn't want to wade into the
 buildbot codebase. Like the manual for --reaper says you should fix
 your process spawning usage (if you can) ... and I don't think I can.
 
 However, after enabling reaper I noticed that very large commit pushes
 to hgweb over http would cause the process to be killed. It would
 happen anytime a push of 20MB or larger was pushed up to the server.
 (This is extremely rare, we just happen to have a project that carries
 this much baggage).


Do you get some c traceback or specific loglines when the worker dies ?


--
Roberto De Ioris
http://unbit.it
JID: robe...@jabber.unbit.it

___
uWSGI mailing list
uWSGI@lists.unbit.it
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi