but this again doesn't restart the mule and the job if it dies.

Are you sure the master is enabled ?

mules are monitored like the other processes.

Can you report what uWSGI says when a mule dies ?

master is enabled

This is my .ini file for testing:

 [uwsgi]
 master = true
 harakiri = 30
 http-socket = 127.0.0.1:4001
 plugin = python27
 wsgi-file = %d/app.wsgi
 mules = 6

This is app.wsgi for testing:

 from uwsgidecorators import muleloop
 import uwsgi
 import time, random

 def worker(s):
     i = random.randint(0, 6)
     x = 1 * 2 * 3 * 4 * 5 / i
     time.sleep(10)
print 'Worker mule id %d: "%s" running. Result: %d' % (uwsgi.mule_id(), s, x)

 muleloop(1)(lambda: worker('test-1'))
 muleloop(2)(lambda: worker('test-2'))
 muleloop(3)(lambda: worker('test-3'))
 muleloop(4)(lambda: worker('test-4'))
 muleloop(5)(lambda: worker('test-5'))

 from werkzeug.testapp import test_app as application


So I see workers start running, printing their results, and as they throw ZeroDivisionError exceptions the mules just sit there dormant. So the mule processes keep going - I can see them in 'ps', but they don't do anything.

This is uwsgi 1.4.4


--
дамјан
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to