" that a transaction can complete successfully and the API still returns an error." - yes, it is a bitch. I suffered form this for a long time. Finally I understood that all tasks and especially transactional tasks MUST be completely idempotant. GAE docs do not stress that enough but that is mandatory. Otherwise you fall into a trap you just described. How to achieve idempontency is app specific. For example I use TaskId extensively as a entity key to create/update. That way I am guaranteed that double execution will update the same entity.
-- 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/-/XjZZzB7n300J. 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.
