[英]How django handles simultaneous requests with concurrency over global variables?
我有一個通過apache / mod_wsgi托管的django實例。 我使用pre_save
和post_save
信號來存儲保存前后的值,以便以后進行比較。 為此,我使用全局變量存儲pre_save
值,可以在post_save
信號處理程序中訪問該值。
我的問題是,如果兩個請求A和B同時在一起請求同一Web服務,它將是並發的嗎? B不應讀取A編寫的全局變量,反之亦然。
PS:我不對變量使用任何線程Lock
。
這部分取決於您的mod_wsgi
配置。 如果將其配置為每個進程僅使用一個線程,則全局變量是安全的-盡管出於各種原因,我不建議使用它們。 在多線程配置中,不能保證使用全局變量不會混淆請求。
您應該能夠找到更多本地位置,以在pre_save
和post_save
之間存儲所需的數據。 我建議您在設計中多加思考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.