0
我正在開發一個web.py應用程序,用於上傳文件,而我的部署存在實際問題。基本上我想給用戶一個'上傳百分比',但是這在部署在mod_wsgi上時似乎被嚴重搞砸了。主要上傳工作是這樣的:web.py + mod_wsgi文件上傳問題
out = open(path, 'wb', 1000)
while (True):
packet = fileU.file.read(1000)
if not packet:
break
else:
out.write(packet)
sessions[code].progress += 1
out.close()
「會話」是一個全局字典,其中包含跟蹤會話的對象。爲了獲得當前的進度,我每秒通過來自客戶端的GET請求獲得給定會話的當前進度。
目前的問題是,這隻適用於小型上傳。看起來大約100kb以上的任何東西都不會增加進度變量。如果放置在循環之外(或者在調用read()之前),或者文件非常小,則值肯定會增加。
是否有可能wsgi爲更大的文件打開新線程,並因此使得我的全局計數器僅在上傳線程本地?它可能是別的東西。
有沒有辦法在會話中存儲自定義數據?我似乎無法找到如何檢索給定用戶的請求中的會話。 – seadowg 2011-02-08 09:09:50