注册一个操作,以便由自动化框架进行调度。有关调度的更多信息,包括示例操作,请参阅操作部分。
名称 | 类型 | 描述 |
---|---|---|
proc | REGPROC | 要注册为作业的函数或过程的名称 |
schedule_interval | INTERVAL | 此作业执行之间的时间间隔。默认为 24 小时 |
名称 | 类型 | 描述 |
---|---|---|
config | JSONB | 特定于作业的配置,在运行时传递给函数 |
initial_start | TIMESTAMPTZ | 作业首次运行的时间。在固定计划的情况下,这也充当作业执行对齐的起点。如果省略,则在固定计划的情况下,当前时间用作起点。 |
scheduled | BOOLEAN | 设置为 FALSE 以将此作业排除在调度之外。默认为 TRUE 。 |
check_config | REGPROC | 一个接受单个参数的函数,即 JSONB config 结构。如果配置无效,则该函数应引发错误,否则不返回任何内容。可用于在添加作业时验证配置。仅允许函数,不允许过程作为 check_config 的值。 |
fixed_schedule | BOOLEAN | 如果您希望作业的下一次启动时间确定为其上次完成时间加上计划间隔,请设置为 FALSE 。如果您希望作业的下一次启动时间在上次启动后 schedule_interval 开始,请设置为 TRUE 。默认为 TRUE |
timezone | TEXT | 有效的时区。如果 fixed_schedule 为 TRUE ,则后续作业执行将与其初始启动时间对齐。但是,夏令时 (DST) 更改可能会使这种对齐发生偏移。如果您想缓解此问题,请设置为有效的时区。默认为 NULL 。 |
列 | 类型 | 描述 |
---|---|---|
job_id | INTEGER | TimescaleDB 后台作业 ID |
注册 user_defined_action
过程每小时运行一次
CREATE OR REPLACE PROCEDURE user_defined_action(job_id int, config jsonb) LANGUAGE PLPGSQL AS$$BEGINRAISE NOTICE 'Executing action % with config %', job_id, config;END$$;SELECT add_job('user_defined_action','1h');SELECT add_job('user_defined_action','1h', fixed_schedule => false);
注册 user_defined_action
过程在每个星期日午夜运行。提供的 initial_start
必须满足这些要求,因此它必须是星期日午夜
-- December 4, 2022 is a SundaySELECT add_job('user_defined_action','1 week', initial_start => '2022-12-04 00:00:00+00'::timestamptz);-- if subject to DSTSELECT add_job('user_defined_action','1 week', initial_start => '2022-12-04 00:00:00+00'::timestamptz, timezone => 'Europe/Berlin');
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页。