Почему происходит сброс текстовых файлов при перезапуске python воркера на heroku?
Приложение на питоне, структура такая: app.py 1.txt 2.txt, app.py — это воркер, а данные — 1.txt и 2.txt (формат json). Когда сервер по ошибке или вручную перезагружается он откатывает все изменения в текстовых файлах до исходного состояния. Почему? Как избежать? И есть ли рекомендации как лучше хранить простые данные?
Хоть кто-нибудь читает документацию? На Heroku файловая система временная. Платформа может в любой момент убить ваш инстанс, запустить несколько его копий или перекинуть его на другой сервак.
vutmuk123, годы идут, ничего не меняется, никто так и не читает документацию. Естественно, все файлы вашего приложения развёрнуты во временной файловой системе инстанса. И вы не можете предполагать ни сколько инстансов одновременно работает, ни в каком порядке к ним уходят запросы, ни с какой частотой платформа их перемещает между серверами, ни чего другого. Поэтому для Heroku можно писать только stateless-сервисы, никаких данных не должно быть ни в файлах, ни в памяти.
Сергей Горностаев, спасибо, я не очень понял, но видимо это как раз о том что "сервер не должен хранить состояние". Буду читать про stateless и как это работает)