MCPcopy Index your code
hub / github.com/triggerdotdev/trigger.dev / delay

Method delay

apps/coordinator/src/backoff.ts:148–192  ·  view source on GitHub ↗
(retries: number = this.#retries, jitter: boolean = true)

Source from the content-addressed store, hash-verified

146 }
147
148 delay(retries: number = this.#retries, jitter: boolean = true) {
149 if (retries > this.#maxRetries) {
150 console.error(
151 `Can't set retries ${retries} higher than maxRetries (${
152 this.#maxRetries
153 }), setting to maxRetries instead.`
154 );
155 retries = this.#maxRetries;
156 }
157
158 let delay = this.#factor * this.#base ** retries;
159
160 switch (this.#type) {
161 case "NoJitter": {
162 break;
163 }
164 case "FullJitter": {
165 if (!jitter) {
166 delay = 0;
167 break;
168 }
169
170 delay *= Math.random();
171 break;
172 }
173 case "EqualJitter": {
174 if (!jitter) {
175 delay *= 0.5;
176 break;
177 }
178
179 delay *= 0.5 * (1 + Math.random());
180 break;
181 }
182 default: {
183 throw new Error(`Unknown backoff type: ${this.#type}`);
184 }
185 }
186
187 delay = Math.min(delay, this.#max);
188 delay = Math.max(delay, this.#min);
189 delay = Math.round(delay);
190
191 return delay;
192 }
193
194 elapsed(retries: number = this.#retries, jitter: boolean = true) {
195 let elapsed = 0;

Callers 3

retryAsyncMethod · 0.95
elapsedMethod · 0.95
nextMethod · 0.95

Calls 4

randomMethod · 0.80
minMethod · 0.80
maxMethod · 0.80
errorMethod · 0.65

Tested by

no test coverage detected