2017-02-11 5 views
0

Ich habe eine kleine Anwendung für Heroku bereitgestellt. Der Slug enthält unter anderem eine Liste in einer Textdatei. Ich habe einen geplanten Job eingerichtet, um einmal pro Stunde ein Python-Skript auszuführen, das ein Element aus dieser Liste auswählt und etwas mit diesem Element macht.Heroku: Wie speichert man eine Variable, die mutiert?

Das Problem ist, dass ich das gleiche Element nicht zweimal hintereinander auswählen möchte. Also muss ich das zuletzt ausgewählte Element irgendwo speichern können. Es stellt sich heraus, dass Heroku anscheinend ein schreibgeschütztes Dateisystem hat, daher kann ich diese Informationen nicht in einer temporären oder permanenten Datei speichern.

Wie kann ich dieses Problem lösen? Kann ich os.environ in Python verwenden, um eine Konfigurationsvariable festzulegen, die das zuletzt ausgewählte Element aus der Liste speichert?

+0

Wie wäre es mit einer Datenbank? –

+0

@KlausD. Ist das wirklich die beste Lösung? Gibt es keinen einfacheren Weg? – Newb

Antwort

1

Ich stimme @KlausD zu, was Sie vorschlagen, ist tatsächlich etwas komplexer, wenn Sie versuchen, mit einem Dateisystem zu arbeiten, das sich nicht ändert und Statusinformationen (zuletzt ausgewählt) verfolgt, die Sie möglicherweise beibehalten müssen. Selbst wenn Sie das letzte Element in einer Umgebungsvariablen speichern könnten, würde ein Neustart des Servers diese Informationen verlieren.

Das Hinzufügen einer db und Verbinden mit Python würde buchstäblich Minuten auf Heroku dauern. Es gibt viele gut dokumentierte Bibliotheken und ORMs, die verfügbar sind, um ein einfaches Modell zu erstellen, in dem Sie Ihre Liste und Ihren Cursor speichern können. Ich empfehle normalerweise, Zeiger auf Informationen zu speichern, anstatt den richtigen Gegenstand aufgrund der Architektur offensichtlich zu machen, aber das ist in Ihrem Fall nicht möglich.

Verwandte Themen