@creejs/commons-retrier
Version:
Common Utils About Task Retrying
36 lines (35 loc) • 1.49 kB
TypeScript
/**
* @typedef {import('./retrier.js').default} Retrier
*/
/**
* The task will execute forever despite of failure or success.
* 1. Ignore Retrier total timeout setting
* 2. Ignore Retrier max retries setting
*/
export default class ForeverTask extends Task {
/**
* Checks if the given task is an instance of ForeverTask.
* @param {*} task - The task to check.
* @returns {boolean} True if the task is an instance of ForeverTask, false otherwise.
*/
static isForeverTask(task: any): boolean;
/**
* Creates an ForeverTask instance.
* @param {Retrier} retrier - The retrier instance to use for retry logic
* @param {Function} task - The task function to execute
* @param {boolean} resetRetryPolicyAfterSuccess - Whether to reset retry policy after successful execution
*/
constructor(retrier: Retrier, task: Function, resetRetryPolicyAfterSuccess: boolean);
resetPolicy: boolean;
/**
* Executes the task with the given retry parameters.
* @param {number} retries - The number of retries attempted so far.
* @param {number} latence - The current latency ms.
* @param {number} nextInterval - The next interval ms.
* @returns {Promise<*>} The result of the task execution.
*/
execute(retries: number, latence: number, nextInterval: number): Promise<any>;
}
export { ForeverTask as AlwaysTaskType };
export type Retrier = import("./retrier.js").default;
import Task from './task.js';