Я хочу добавить защитную логику обработки / повторения исключений вокруг моего (Java) кода, которая ставит задачи в App Engine. Просматривая документацию на предмет потенциальных исключений, я вижу несколько кандидатов, которые могут иметь смысл поймать и обработать при повторной попытке, но документация немного расплывчата, поэтому я подумал, что увижу то, что другие считают стоящим.
Вот те, на которые я смотрю, и их описания из документов:
- InternalFailureException - Внутренняя ошибка очереди задач.
- TransientFailureException - Периодический сбой.
- QueueFailureException - Неуказанный сбой очереди.
- TransactionalTaskException - сбой операции очереди, вызванный исключением хранилища данных.
Единственное, для чего в документах прямо указано, что повторная попытка может быть полезна, это TransientFailureException.
Кроме того, что касается TransactionalTaskException, это может возникать только при включении задачи во вмещающую транзакцию хранилища данных или это может возникать при постановке в очередь отдельной задачи?