Я работаю над приложением 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()
'Session' - это глобальный словарь, содержащий объекты, которые отслеживают сеансы.Чтобы получить текущий прогресс, я получаю текущий прогресс для данного сеанса через GET-запрос от клиента каждую секунду.
Проблема на данный момент в том, что это работает только для небольших загрузок.Кажется, что-нибудь более 100 КБ просто не будет увеличивать переменную прогресса.Значение определенно увеличивается, если поместить его вне цикла (или перед вызовом read ()) или если файл довольно маленький.
Возможно ли, что wsgi открывает новые потоки для больших файлов и поэтому делаетмой глобальный счетчик только локальный для темы загрузки?Может ли это быть что-то еще.