Re: [pgsql-advocacy] Call for Google Summer of Code mentors, admins - Mailing list pgsql-hackers

From Thom Brown
Subject Re: [pgsql-advocacy] Call for Google Summer of Code mentors, admins
Date
Msg-id CAA-aLv69PLerbk3jgsrFDBAxNdbhFA52_sAA0ZhGqqO33Ocvzg@mail.gmail.com
Whole thread Raw
In response to Re: [pgsql-advocacy] Call for Google Summer of Code mentors, admins  (Thom Brown <thom@linux.com>)
Responses Re: [pgsql-advocacy] Call for Google Summer of Code mentors, admins  (Atri Sharma <atri.jiit@gmail.com>)
Re: [pgsql-advocacy] Call for Google Summer of Code mentors, admins  (Thom Brown <thom@linux.com>)
List pgsql-hackers
On 19 March 2013 17:42, Thom Brown <thom@linux.com> wrote:
> On 14 February 2013 18:02, Josh Berkus <josh@agliodbs.com> wrote:
>> Folks,
>>
>> Once again, Google is holding Summer of Code.  We need to assess whether
>> we want to participate this year.
>>
>> Questions:
>>
>> - Who wants to mentor for GSOC?
>>
>> - Who can admin for GSOC?  Thom?
>>
>> - Please suggest project ideas for GSOC
>>
>> - Students seeing this -- please speak up if you have projects you plan
>> to submit.
>
> If anyone else has more projects ideas to suggest, please do share.
> Students, please feel free to review the PostgreSQL Todo list for
> inspiration: http://wiki.postgresql.org/wiki/Todo  Of course ensure
> you don't choose anything too ambitious or trivial.

Okay, here's a random idea (which could be infeasible and/or
undesirable).  How about a way to internally schedule tasks using a
background worker process (introduced in 9.2) to wake on each tick and
run tasks?

So:

CREATE EXTENSION pg_scheduler;
--
schedule_task(task_command, task_priority, task_start, repeat_interval);

SELECT schedule_task('REINDEX my_table', 1, '2012-03-20
00:10:00'::timestamp, '1 week'::interval);

SELECT list_tasks();

-[ RECORD 1 ]---+-----------------------
task_id         | 1
task_command    | REINDEX my_table
task_priority   | 1
task_start      | 2012-03-20 00:10:00-04
repeat_interval | 7 days
owner           | postgres

SELECT delete_task(1);

Tasks would be run in sequence if they share the same scheduled time
ordered by priority descending, beyond which it would be
non-deterministic.  Or perhaps additional worker processes to fire
commands in parallel if necessary.

Disclaimer: I haven't really thought this through.

--
Thom


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Ignore invalid indexes in pg_dump
Next
From: Bruce Momjian
Date:
Subject: Re: pg_upgrade segfaults when given an invalid PGSERVICE value