Thanks much for the input and direction guys! I'm coding it in now, so we'll see how it works out. And yes, I had missed the one little statement about the retrying of the transaction until success.
Thanks again! Sam On Jul 15, 5:30 pm, Robert Kluin <robert.kl...@gmail.com> wrote: > Yes it was. :) > > Robert > > > > On Wed, Jul 14, 2010 at 5:49 PM, Chris Copeland <ch...@cope360.com> wrote: > > > On Wed, Jul 14, 2010 at 3:54 PM, Sam <couponsys...@gmail.com> wrote: > > >> I believe all that it would do is > >> move the timing issue from the main program logic to a defined > >> transaction and we would still have the potential gap in time between > >> when the initial query was executed to fetch the data and the put() > >> was execute to write it back. > > > If the data fetched by the get() at the first of the transaction has been > > changed (by another process) when you do the put() at the end of the > > transaction, then the transaction will be retried and it will do a new get > > which will see the other process's changes and the process repeats. This > > isn't obvious, but it is talked about in one of the links I sent earlier. > > > I think Robert's example is missing a put() at the end of the transaction > > function: > > > def txn(): > > ccode = CCode.all().filter('Assinged', 0)\ > > .filter('ExpireDate >=', dtCompareDate)\ > > .filter("PartnerID", intPartnerID).get() > > if not ccode: > > # handle no ccode.... > > ccode.SessionID = strSessionID > > ccode.Assigned = 1 > > ccode.put() > > > db.run_in_transaction(txn) > > > -Chris > > > -- > > 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-appeng...@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.- Hide quoted text - > > - Show quoted text - -- 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-appeng...@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.