2017-12-17 29 views
0

APIリクエストの結果からjsonファイルに最後のタイムスタンプを書き込むPythonスクリプト(日常的なジョブとして設定)があります。次回のAPI呼び出しでは、そのタイムスタンプを読み取り、そのタイムスタンプの後にのみ結果を取得するクエリパラメータとして追加します。まず最初に私のようなJSONコンテンツを取得:HerokuでPythonを使用してJSONデータを書き込む

jsonFile = open("records.json", "r") 
data = json.load(jsonFile) 
jsonFile.close() 

その後、私のような最後に保存されたタイムスタンプの取得:私は、その後、新しい結果を得る「データ」オブジェクトを変更し、バックにJSONを書き

last_timestamp = data["last_reading"] 

をファイルは次のようになります:

data["last_reading"] = new_timestamp 
with open("records.json", "w") as jsonFile: 
    json.dump(data, jsonFile) 

これは私のローカルシステム上で完全に動作します。しかし、PythonスクリプトとjsonファイルをHerokuにデプロイすると、更新が機能しません。コードがjsonファイルを開き、そこからレコードを読み込みますが、何らかの理由でそれらを書き戻すことができないことを確認できます。これがなぜ起こっているのかについてのアイデアはありますか?回避策も歓迎します。私がHerokuに追加しなければならない特定の構成/オプションはありますか?

答えて

0

このreferenceはあなたの質問に答えるかもしれません:。

hereなどのオプションのような外部ストレージを使用することができます。これらのすべては、実行しようとしていることが過度になっているように見えますが、それは再生状態のようです。 Heroku Redisはこれらのオプションの中で最も簡単なようですが、他のデータも永続化する必要がある場合に適しています。もう1つのオプションはAWS S3です。

関連する問題