Simply write the "event" entity at the same time (or immediately before) you enqueue the processing task. Inside the processing task first read the entity and only do the processing if the entity is still there. Since that entity is deleted if and only if your model is updated successfully the event is guaranteed not to be processed more than once no matter how often the task executes. There is an additional advantage to this pattern, as you would see event entities dangling as long as they are not processed succesfully. This way you can be 100% sure that your events were really processed.
Wolfram -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/1cad8d5a-29a7-4544-9472-d9393b0dcc1c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
