immopoly/appengine — Issue #8: nächtliche Berechnung redesignen
Author: mrschtief
Created: 2012-01-07 16:17:38+00:00
State: open

Wir müssen die nächtliche Berechnung redesignen, da wir von IS24 nicht die shortcut methode zur Übermittlung einer Liste von ExposeIDs bekommen.

Momentan berechnen wir nachts jede Minute einen Benutzer und schaffen so nur 60*24 user am Tag.
Das wurde so designed, damit wir write requests sparen, also den user nur einmal pro berechnung speichern müssen. Da wir jetzt aber wieder größere Limits haben, können wir es wieder neu gestalten.

Vorschlag:
ExposeCronjob:
* pro Minute X Exposes holen deren lastChecked Datum mindestens 24h zurückliegt.
* Verfügbarkeit bei is24 checken.
* Wenn verfügbar, lastChecked Datum setzen
* Wenn vermietet, lastChecked Datum setzen und als vermietet Kennzeichnen

UserCronjob:
* pro Minute X User holen, deren lastCalculated Datum mindestens 24h zurückliegt
* Alle Exposes des Users holen
* Wenn noch verfügbar und lastChecked Datum innerhalb der letzten 24h ist, Miete addieren
* Wenn vermieted und lastChecked Datum innerhalb der letzten 24h ist, Provision addieren
* History Einträge setzen
* lastCalculated Datum setzen

Probleme:
* Cronjob idled wenn schon alle Exposes gechecked worden sind?
* Überschneidung der beiden Cronjobs
* nicht alle Exposes eines users wurden innerhalb der letzten 24h gechecked
* bereits positiv gecheckte Exposes sind zum Zeitpunkt der Benutzerberechnung schon vermietet
* Wohnung verschwinden, ohne das Historyeinträge für vermietung da sind
* ???