kw retry
Контекстное слово — суффиксы цепочки (§8.4)
Список слов: §1.4
Синтаксис
Suffix = "within" Binary | "retry" Binary [ "on" Type ] [ "backoff" Binary ] ;Грамматика: Прил. A
Определяется в
- 8.4 Цепочки — Цепочка связывает асинхронные шаги так, что выполняется либо вся цепочка, либо возвращается первая необработанная ошибка.
- 1.2 Завершение инструкций — Инструкция завершается ; или переводом строки.
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
- 5.2 Приоритет и ассоциативность — Приоритет и ассоциативность
- 10.2 Атрибуты rpc — Значения по умолчанию для всех rpc задаются в cluster { defaults { …
- 17.4 Таймеры и расписания — after, every, at — функции std.time с замыканием последним аргументом; выполняются в текущей задаче, пока её не отменят (для фона — spawn, c
Примеры
let page = Users.get(id)
-> (Orders.recent(it.id), Recs.for(it.id))
-> (orders, recs) => Page{ orders, recs }
~> Audit.log("page", id)
!> Timeout => Page.empty()
within PAGE_DEADLINE
retry 2
let html = await pagesleep(BACKOFF)
after(RETRY_DELAY) { retry() }
every(SYNC_PERIOD) { sync() }
at(cron"0 9 * * MON-FRI".in(tz"Europe/Moscow")) { report() }Связанные диагностики
it-outside-chain, chained-comparison, attribute-not-applicable, cache-not-readonly, invalid-window, retry-not-idempotent, rpc-attr