update schedule

Script windmill Verified

by admin ยท 8/13/2023

The script

Submitted by admin Typescript (fetch-only)
Verified 370 days ago
1
/**
2
 * update schedule
3
 *
4
 */
5
export async function main(
6
  workspace: string,
7
  path: string,
8
  body: {
9
    schedule: string;
10
    timezone: string;
11
    args: { [k: string]: unknown };
12
    on_failure?: string;
13
    on_failure_times?: number;
14
    on_failure_exact?: boolean;
15
    on_failure_extra_args?: { [k: string]: unknown };
16
    on_recovery?: string;
17
    on_recovery_times?: number;
18
    on_recovery_extra_args?: { [k: string]: unknown };
19
    ws_error_handler_muted?: boolean;
20
    retry?: {
21
      constant?: { attempts?: number; seconds?: number; [k: string]: unknown };
22
      exponential?: {
23
        attempts?: number;
24
        multiplier?: number;
25
        seconds?: number;
26
        random_factor?: number;
27
        [k: string]: unknown;
28
      };
29
      [k: string]: unknown;
30
    };
31
    no_flow_overlap?: boolean;
32
    summary?: string;
33
    tag?: string;
34
    [k: string]: unknown;
35
  }
36
) {
37
  const url = new URL(
38
    `${BASE_URL}/api/w/${workspace}/schedules/update/${path}`
39
  );
40

41
  const response = await fetch(url, {
42
    method: "POST",
43
    headers: {
44
      "Content-Type": "application/json",
45
      Authorization: "Bearer " + WM_TOKEN,
46
    },
47
    body: JSON.stringify(body),
48
  });
49
  if (!response.ok) {
50
    const text = await response.text();
51
    throw new Error(`${response.status} ${text}`);
52
  }
53
  return await response.text();
54
}
55