Hi All
I know it was asked a lot but after hours of searching and trying several
posts, I couldn't find any solution to create a "long running" thread.
The problem is, that my thread stops working, as soon as the client gets a
response from the server.
So what I have is the following:
- uwsgi == 1.9.17.1-debian
- nginx == 1.4.4 (Ubuntu)
class Mailer(object):
self._threads = []
def send(self):
...
thread = Thread(target=self._send, args=(email_addr,
msg.as_string()))
thread.daemon = True
thread.start()
self._threads.append(thread)
...
def join(self):
return [t.join(5) for t in self._threads]
def __del__(self):
self.join()
which should send out some mails. When I call the function directly it
works. So the error could not be inside the _send() function.
I start my web application using the emperor
exec $BINPATH --emperor /opt/www/vassals/ --pidfile
/var/run/uwsgi/emperor.pid --stats 127.0.0.1:9191 --logto $LOGTO
and the following xml
<uwsgi>
<vhost />
<plugins>python</plugins>
<master />
<vacuum />
<processes>2</processes>
<enable-threads />
<lazy />
<chmod-socket>666</chmod-socket>
<socket>/tmp/uwsgi.%n.webapp.sock</socket>
<uid>www-data</uid>
<gid>www-data</gid>
<virtualenv>/opt/virtualenv/%n</virtualenv>
<pythonpath>%d../%n</pythonpath>
<chdir>%d../%n</chdir>
<module>scripts.%n_wsgi</module>
<buffer-size>65535</buffer-size>
<pidfile>/var/run/uwsgi/%n.pid</pidfile>
<touch-reload>%d../%n</touch-reload>
<daemonize>/var/log/uwsgi/%n.log</daemonize>
</uwsgi>
Does anyone has an idea?
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi