mirror of https://github.com/openclaw/openclaw.git
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
/** Error types that can trigger retries for one-shot jobs. */
|
|
export type CronRetryOn = "rate_limit" | "network" | "timeout" | "server_error";
|
|
|
|
export type CronRetryConfig = {
|
|
/** Max retries for transient errors before permanent disable (default: 3). */
|
|
maxAttempts?: number;
|
|
/** Backoff delays in ms for each retry attempt (default: [30000, 60000, 300000]). */
|
|
backoffMs?: number[];
|
|
/** Error types to retry; omit to retry all transient types. */
|
|
retryOn?: CronRetryOn[];
|
|
};
|
|
|
|
export type CronFailureAlertConfig = {
|
|
enabled?: boolean;
|
|
after?: number;
|
|
cooldownMs?: number;
|
|
};
|
|
|
|
export type CronConfig = {
|
|
enabled?: boolean;
|
|
store?: string;
|
|
maxConcurrentRuns?: number;
|
|
/** Override default retry policy for one-shot jobs on transient errors. */
|
|
retry?: CronRetryConfig;
|
|
/**
|
|
* Deprecated legacy fallback webhook URL used only for stored jobs with notify=true.
|
|
* Prefer per-job delivery.mode="webhook" with delivery.to.
|
|
*/
|
|
webhook?: string;
|
|
/** Bearer token for cron webhook POST delivery. */
|
|
webhookToken?: string;
|
|
/**
|
|
* How long to retain completed cron run sessions before automatic pruning.
|
|
* Accepts a duration string (e.g. "24h", "7d", "1h30m") or `false` to disable pruning.
|
|
* Default: "24h".
|
|
*/
|
|
sessionRetention?: string | false;
|
|
/**
|
|
* Run-log pruning controls for `cron/runs/<jobId>.jsonl`.
|
|
* Defaults: `maxBytes=2_000_000`, `keepLines=2000`.
|
|
*/
|
|
runLog?: {
|
|
maxBytes?: number | string;
|
|
keepLines?: number;
|
|
};
|
|
failureAlert?: CronFailureAlertConfig;
|
|
};
|