2011-11-04 75 views
0

在我的Django的代碼,我有類似如下:創建一個新的線程來電子郵件管理員

#ajax call 
    ... 
    try: 
     do sth 
     ... 
    except Exception as e: 
     _email_admin() 
     return HttpResponseServerError(e) 

以上會,然而,返回給用戶,這絕對不是很酷的減緩。

所以我要問,如果你能在分叉一個新的線程來發送郵件,這樣就不會耽誤返回給用戶的可能性告訴我?

謝謝。

PS:我知道,如果我不捕獲異常,創建一個500錯誤,Django的將電子郵件發送管理員。但是我需要捕獲異常,以便我仍然可以返回Ajax調用。

回答

1

您的代碼做同樣的事情Django的會做,只是將其刪除。我不記得,如果郵件都在工作線程發送,但它不要緊 - 如果你要發送錯誤郵件,那麼你的代碼是。節省幾毫秒將絕對不會給您帶來任何收益。特別是這是異步調用。

而且,像這樣的東西,你的芹菜,或者類似的東西更好,而不是創建線程。

+0

感謝您指出,「如果你要發送錯誤郵件,那麼你的代碼被打破」。 –

相關問題