Как разместить, записать и поместить sh текстовый файл в репозиторий git - PullRequest
0 голосов
/ 13 июля 2020

У меня очень специфическая c проблема, в которой у меня нет абсолютно никакого опыта, и я хотел бы получить рекомендации.

У меня есть простая форма HTML / JS, размещенная на моем сайте, которая запрашивает номер телефона и после отправки делает запрос с номером в приложение Python, которое я разместил в Google App Engine, которое затем управляет API для отправки текста на этот номер.

Пока что, это хорошо сработало. Но я хочу иметь возможность сохранить этот номер в простом текстовом файле, а pu sh - в моем git репозитории, потому что у меня есть приложение Heroku, которое прослушивает каждый pu sh, чтобы повторно развернуть приложение и запустить запланированная задача для отправки обычного текстового сообщения на каждый номер в этом теперь обновленном списке.

Проблема, с которой я столкнулся, заключается в том, чтобы выяснить, где находится этот текстовый файл с номерами и как писать в него, и затем pu sh с использованием библиотеки типа gitpython.

Все это работает локально, но не тогда, когда приложение создается и развертывается с помощью Google App Engine / Heroku.

1 Ответ

2 голосов
/ 13 июля 2020

Но я хочу иметь возможность хранить этот номер в простом текстовом файле, а pu sh это в моем git репозитории, потому что у меня есть приложение Heroku, которое прослушивает каждый pu sh для повторно разверните приложение и запустите запланированное задание, чтобы отправить обычное текстовое сообщение на каждый номер в этом теперь обновленном списке.

Я уверен, что это не то, что вы хотите услышать, но сложно -кодирование данных в текстовых файлах и повторное развертывание вашего приложения каждый раз при изменении данных не имеет большого смысла. Данные и код принципиально разные вещи; изменение данных никогда не должно требовать повторного развертывания приложения.

Кроме того, неясно, где вы пишете этот файл, но если он находится на вашем сервере Heroku, у вас могут возникнуть другие проблемы. Его файловая система как эфемерная, так и локальная , например, поэтому, если вы попытаетесь просмотреть сохраненный файл через heroku run bash, вы не увидите его (который работает на одноразовом dyno , а не работающий веб-дино), и он будет потерян в течение 24 часов из-за автоматических c перезапусков дино .

Сохранение ваших данных в соответствующей базе данных клиент-сервер вместо текстовый файл решает обе проблемы.

(я не знаком с Google App Engine, но он может иметь аналогичные ограничения. Даже если это не так, это все еще лучшая архитектура.)

...