I have a function that makes many HTTP requests to collect data and stores it in the datastore. All calls must succeed or else everything must be rolled back. The length of time to execute approaches 10 minutes. The max transaction deadline on app engine appears to be the default 60 seconds.
Is there a way to increase this and thus make the function transactional?
It looks like it’s not possible. From the docs:
https://developers.google.com/appengine/docs/python/datastore/functions#create_transaction_options
However you can trigger a task when and only when a transaction completes successfully, if that’s of any use.
https://developers.google.com/appengine/docs/python/datastore/transactions#Transactional_Task_Enqueuing