假設有新的評論,我需要發郵件給自己。
,我不想阻止向瀏覽器呈現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