Как повторить обработанный сбой в шаговой функции AWS - PullRequest
0 голосов
/ 12 марта 2020

У меня есть пошаговая функция, которая по существу выполняет следующие действия:

  1. [START] Запустите лямбда-выражение для запуска запроса Athena, верните QueryID
  2. [POLL] Запустите a Лямбда, чтобы проверить статус запроса, информация о состоянии возврата
  3. Выбор состояния.
    • Если STATUS = SUCCESS -> [PROCESS_RESULTS]
    • Если STATUS = RUNNING -> Подождите 30 секунд, [POLL]
    • Если STATUS = FAILED -> [FAILURE_STEP]

STATUS = FAILED не так, как лямбда-сбой, он вернул правильный результат, но этот результат должен был сказать, что запрос не выполнен. В последнее время я видел больше ошибок «Запрос исчерпаны ресурсы в таком масштабе» на Афине, но они почти всегда работают во второй раз. Я хотел бы настроить его так, чтобы он повторил попытку [START] с паузой и экспоненциальным откатом, как это определено в документации по пошаговым функциям, аналогично следующему:

   "Retry": [ {
      "ErrorEquals": [ "ErrorA", "ErrorB" ],
      "IntervalSeconds": 1,
      "BackoffRate": 2.0,
      "MaxAttempts": 2
   },

Но, похоже, это относится только к реальной ошибки , как в исключениях. Есть ли способ реализовать это, основываясь на технически без ошибок?

...