Функция запуска после достижения лимита повторных попыток в Google App Engine

У меня есть код, как показано ниже:

Queue queue = QueueFactory.getDefaultQueue();
queue.add(TaskOptions.Builder.withRetryOptions(
                     RetryOptions.Builder
                             .withTaskRetryLimit(0)));

С этим кодом задача не будет повторяться, если не ошибка. Однако я хочу запустить еще один вызов функции onRetryFailure() по истечении 10 минут (максимальное время до повтора). Любая идея, как я могу это сделать?

1 ответ

Не очень понятно, при каких условиях вы этого хотите onRetryFailure() функция для запуска. Вы могли бы:

  • если ты хочешь onRetryFailure() чтобы вызвать любую ошибку, вы можете свернуть текущий код задачи в try-catch и запустить onRetryFailure() как другая задача
  • если ты хочешь onRetryFailure() вызываться только при достижении 10-минутного лимита времени, в начале вашей задачи вы можете добавить onRetryFailure() как еще одно задание с 10-минутным отсчетом времени, и в конце задания вы можете удалить onRetryFailure() из очереди, если вы больше не хотите, чтобы она запускалась https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/Queue.html
Другие вопросы по тегам