Currently moved to the following: Lightweight Score() db object has a timestamp with the following: timestamp = db.DateTimeProperty(auto_now=True) B1 backend reaps all Score()'s with a timestamp < 1 min old. 20 secs after the reap, the B1 deletes all Score()'s with timestamp at least 10 min old. My theory is: - When the DB is playing up and creating a Score() is VERY slow and so they don't show up in queries... having an 'old' Score() already there will make the put() strongly consistent and force an instant update. - Queries based on a timestamp diff will then return the Score - It may take 1 round for a player to get into the leaderboard, since the first put() will take some time for things to settle. Coments/thoughts ? Any On Friday, August 3, 2012 4:34:02 PM UTC-4, Richard wrote:
> Ditched Cloud SQL. Went back to the old system of savign lightweight DB > objects. I have no idea what to do tonight when DB queries stop working > again (like they do every night for the last week!) > > > On Friday, August 3, 2012 3:55:01 PM UTC-4, Richard wrote: > >> Well, Cloud SQL is NOT the answer.... it is topping out around 500 >> users. The extra's don't make it into the DB within the 10 second window. >> Then they get shown in the next window. >> >> I can 'fix' this by silently deleting the extra's and doing a client >> update that will insert the user into the results leaderboard if they are >> not there. HOWEVER, the user's stats will then possibly be wrong (best >> game/etc). > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/ArKfUqdFOcQJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
