Skip site navigation (1) Skip section navigation (2)

scheduler in core

From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: scheduler in core
Date: 2010-02-20 21:33:19
Message-ID: 3073cc9b1002201333u608acbc6o5c653987b9ad50c9@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-hackers
Hi,

I'm trying to figure out how difficult is this

What we need:
- a shared catalog
- an API for filling the catalog
- a scheduler daemon
- pg_dump support


A shared catalog
-------------------------
Why shared? obviously because we don't want to scan all database's
pg_job every time the daemon wake up.
Maybe something like:

pg_job (
    oid                -- use the oid as pk
    jobname
    jobdatoid       -- job database oid
    jobowner       -- for permission's checking
    jobstarttime   -- year to minute
    jobfrequency  -- an interval?
    jobnexttime or joblasttime
    jobtype          -- if we are going to allow plain sql or
executable/shell job types
    jobexecute or jobscript
)

comments about the catalog?


An API for filling the catalog
-----------------------------------------
do we want a CREATE JOB SQL synatx? FWIW, Oracle uses functions to
create/remove jobs.


An scheduler daemon
--------------------------------
I think we can use 8.3's autovacuum daemon as a reference for this...
AFAIK, it's a child of postmaster that sleep for $naptime and then
looks for something to do (it also looks in a
catalog) and the send a worker to do it
that's what we need to do but...

for the $naptime i think we can autoconfigure it, when we execute a
job look for the next job in queue and sleep
until we are going to reach the time to execute it

i don't think we need a max_worker parameter, it should launch as many
workers as it needs


pg_dump support
--------------------------
dump every entry of the pg_job catalog as a CREATE JOB SQL statement
or a create_job() function depending
on what we decided

ideas? comments?

-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

Responses

pgsql-hackers by date

Next:From: Dave PageDate: 2010-02-20 21:37:41
Subject: Re: scheduler in core
Previous:From: Bruce MomjianDate: 2010-02-20 21:19:49
Subject: Re: Using views for row-level access control is leaky

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group