If you really just care about consistency, and you're actually thinking of using external requests (which, because of propagation delays would still not provide a very strong guarantee), why not just bite the bullet and use a single object to synchronize transaction? This will force you to write your code to avoid updating that object as aggressively as possible, but if you insist on a single accurate anything in your system, you're basically going to run into the same set of problems.
Of course, if you just need the *user* to have a consistently ordered transaction log, that would be one object per user, and really shouldn't suffer all that terrible contention (unless the user is somehow regularly generating multiple invoices per second). On Jan 2, 1:39 pm, James Ashley <james.ash...@gmail.com> wrote: > On Jan 1, 12:17 pm, Andy Freeman <ana...@earthlink.net> wrote: > > > > For a number of possible reasons (including the consistency of a > > > running balance), an accounts engine might have a basic specification > > > requirement that invoices are generated in sequence with ascending > > > invoice numbers *and* ascending invoice time/date. > > > Except that consistency doesn't require both. Either one is > > sufficient and trying to have both merely puts you in the situation of > > a person with two clocks - you don't know which one is correct. > > > Moreover, it's easy enough to fake an ascending time/date. (Take the > > max of the system time and epsilon past the most recent entry.) > > > If time is actually an issue, you can't use system time unless it's > > guaranteed to be accurate, not just consistent. For that, you're > > probably better off consulting an accurate time source. > > This was pretty much exactly my thought. Put your own central server > on the web and use urlfetch() to get timestamp/invoice numbers. > > -- James --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---