假设有新的评论,我需要发邮件给自己。
,我不想阻止向浏览器呈现HTML的web.py。
和线程似乎不工作在这里。如何使用uwsgi web.py来运行后台功能?
class comment:
def POST(self):
...
sender = Thread(target=_sendmail,args=('New Comment',msg))
sender.start()
referer = web.ctx.get('HTTP_REFERER', 'http://www.domain.com')
raise web.SeeOther(referer)
使用线程时,问题是,一旦POST函数执行完毕..其中的发送者是freezed..usually发件人没有完成其工作。 我当然不希望使用sender.join()等待发件人结束。
我认为uwsgi与此没有任何关系..
但我看到一个解释说明uwsgi暂停了web.py app.when没有request.or请求完成。
web.py提供了一种叫@background的方法.. http://webpy.org/cookbook/background
但它似乎有某些problems.it不清理threaddb字典。
它会添加一个参数,如http://domain.com:8080/?_t=3080772748这是丑陋的网址。
有没有更好的解决方案? 像往常一样发送电子邮件,同时提供网址请求。
谢谢!它是!我从来没有想到,这是uWSGI会冻结线程没有 - 启用线程.. – C19 2013-03-09 08:41:04