On Feb 7, 5:52 pm, Takashi Matsuo <[email protected]> wrote: > > For the time being, you can use following strategy for a workaround. > 1) prepare a handler for sending particular mail > 2) put this handler into the task queue in a transactional manner
exactly! we actually don't even consider it a workaround, per se. it's the recommended way to attach any API call or chunk of code to a datastore transaction so that it's guaranteed to happen if the transaction commits. it would take a significant amount of effort to attach another individual API (like mail) to datastore transactions in the datastore backend. given that, we chose to do just the task queue because it can run arbitrary code, which means you can use it to make any API call transactional. granted, enqueueing a task to run an API call does take a little extra setup. if that's a concern, though, the deferred library mostly addresses it: http://code.google.com/appengine/articles/deferred.html i think it might not compatible with transactional tasks quite yet: http://code.google.com/p/googleappengine/issues/detail?id=2721 but assuming that's true i expect we'll fix it soon. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. 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.
