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.

Reply via email to