簡體   English   中英

django如何通過全局變量並發處理並發請求?

[英]How django handles simultaneous requests with concurrency over global variables?

我有一個通過apache / mod_wsgi托管的django實例。 我使用pre_savepost_save信號來存儲保存前后的值,以便以后進行比較。 為此,我使用全局變量存儲pre_save值,可以在post_save信號處理程序中訪問該值。

我的問題是,如果兩個請求A和B同時在一起請求同一Web服務,它將是並發的嗎? B不應讀取A編寫的全局變量,反之亦然。

PS:我不對變量使用任何線程Lock

這部分取決於您的mod_wsgi配置。 如果將其配置為每個進程僅使用一個線程,則全局變量是安全的-盡管出於各種原因,我不建議使用它們。 在多線程配置中,不能保證使用全局變量不會混淆請求。

您應該能夠找到更多本地位置,以在pre_savepost_save之間存儲所需的數據。 我建議您在設計中多加思考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM