VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

支持定时任务

功能描述

支持定时任务的创建和管理功能,包括定时任务的删除等。

说明
  • 创建定时任务前,需要先修改posgresql.conf配置文件参数,打开job线程,并重启数据库
    enable_prevent_job_task_startup=off;
  • job_queue_process表示系统可以并发执行的job数目,该参数为postmaster级别,通过vb_guc设置,需重启vastbase才能生效,取值范围0~1000,为0时不启用定时任务功能,大于0时表示启用定时任务功能且系统能够并发处理的最大任务数。

示例

创建测试表

create table t_cron(insert_date timestamp default null,id int default null);

创建定时任务,每分钟往测试表插入一条数据

select pkg_service.job_submit(1,'insert into t_cron 
values(sysdate,1);',sysdate,'''1min''::interval');
select pkg_service.job_submit(2,'insert into t_cron values(sysdate,2);',sysdate,'''1min''::interval');
select pkg_service.job_submit(3,'insert into t_cron values(sysdate,3);',sysdate,'''1min''::interval');

查看当前运行的定时job

select * from pg_job;

几分钟后,查看测试表,可以看到测试表中已经有了数据

select * from t_cron;

停止当前运行的定时job

select pkg_service.job_finish(1,true);

删除某定时任务

select pkg_service.job_cancel(1);

更新某定时任务

select pkg_service.job_finish(1,true);
select pkg_service.job_finish(1,false,sysdate);