On Jul 30, 7:43 am, Joshua Smith <[email protected]> wrote: > Jeff, > > I've reworked my app since I originally posted, to avoid relying on > the task queue API. The enqueue line was: > > taskqueue.add(url='/admin/checkStarted?session=%s' % > session.key(), method='GET', countdown='30') > > I did not set a task name. I can see now that this would have avoided > the repeated executions. Good tip.
The problem with using a task name if you don't know whether or not it went through is that you can end up with a Tombstoned Task. It would be good if we definitely knew whether a TransientError means that a task was added or not. > > I figured that if there was an exception adding a task to the queue, > that meant the task had NOT been added to the queue. You should > update the docs to make it very clear that this is not necessarily the > case. > > As for the retry, I sent the browser a redirect back to the same > handler when the error occurred. So what happened was a very fast > try / except / redirect / try / except / redirect cycle for as long as > my browser could stand (about 15 iterations). Then, 30 seconds later > the tasks all ran and I had datastore contention issues. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
