Попробуйте session.post () с параметром timeout. Подробности здесь: http://docs.python-requests.org/en/master/user/advanced/#timeouts
Скорее всего, ваш веб-сервер не возвращает ответ, поэтому вы чувствую, что ваша функция застряла.
Я думаю, тестируя с версиями AdHoc, который перетаскивается, заглядывал iTunes, подобная ситуация с обновлением.
Это - то, как я протестировал обновление нашей Игры в шахматы, таким образом, это сохраняет старые и текущие игры на устройстве.
Что касается файлов/DB я предлагаю, чтобы они содержали некоторый номер версии.