You could add an app engine mail account as bcc and skip the task when you receive that email to avoid duplicate execution ;-)
On 12 Jul., 00:30, Marcus Brody <[email protected]> wrote: > I know :( I just thought there maybe be some trick with special case : > Sending Mail. > Good is it forces to think :) > > On Jul 11, 11:57 pm, dflorey <[email protected]> wrote: > > > > > AFAIK there is no (simple) way to turn requests with undefined result > > into idempotent tasks. I've been struggling to execute gdata insert > > requests in a transaction as they may return with a timeout. > > It would be very nice if google would provide the standard services in > > an idempotent manner. > > > On 10 Jul., 18:43, Marcus Brody <[email protected]> wrote: > > > > Hello, > > > > I would like to ask, if there is some way how to send mail only in > > > case that some db transaction will be successful. > > > I am not very experienced with gae, but I did study it now for about 2 > > > weeks. > > > > Desired output: > > > > 1) prepare email > > > 2) db transaction.begin() > > > 3) do some db operation > > > 4) bind sending mail with current transaction (similar to > > > how can you can attach Task to queue) > > > 5) db transaction.commit() > > > > I am aware that I can queue mail sending task to task queue, but i > > > cannot find the way how to do that mail sending task Idempotent > > > without (i think) complicated locking mechanism . > > > Most simple solution would be to put mail sending task to task queue, > > > but this means mail could be send twice in some rare situation. (this > > > is maybe not that bad but if there is some way how to avoid it, I > > > would like to know) > > > > Thank you, > > > > Marcus -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" 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-java?hl=en.
