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