Thread: Job queue, how would you implement this?

Job queue, how would you implement this?

From
Alexis Paul Bertolini
Date:
Dear all,

I have implemented a job queue table where various apps can add jobs to 
the queue and other daemons then execute them. A basic producer-consumer 
pattern. Each tuple in the queue has the basic info such as job to be 
done, when it should be done, who should do it, a flag marking it completed.

The consumer thus selects from the queue all jobs who scheduled in the 
past (<=CURRENT_TIMESTAMP) and are not flagged. Then flags them upon 
succesfull completion.

I now wish to implement repeating scheduled jobs, like "every 5 
minutes", "every morning at 7.00am" and so on. How could I do this?

Any suggestions are welcome and if necessary I can provide you with more 
info.

Thanks

Alex.


Re: Job queue, how would you implement this?

From
Achilleus Mantzios
Date:
O Alexis Paul Bertolini έγραψε στις Mar 21, 2006 :

> Dear all,
> 
> I have implemented a job queue table where various apps can add jobs to 
> the queue and other daemons then execute them. A basic producer-consumer 
> pattern. Each tuple in the queue has the basic info such as job to be 
> done, when it should be done, who should do it, a flag marking it completed.
> 
> The consumer thus selects from the queue all jobs who scheduled in the 
> past (<=CURRENT_TIMESTAMP) and are not flagged. Then flags them upon 
> succesfull completion.

The consumer runs from the command line? (i.e. user-action driven?)

> 
> I now wish to implement repeating scheduled jobs, like "every 5 
> minutes", "every morning at 7.00am" and so on. How could I do this?

I think the traditional UNIX "at" framework could be a good
model (or replacement) of the simpler case,
whereas the traditional UNIX "cron" framework could be a good
model (or replacement) of the latter case.
Your requirements photographically point to the above systems.
Are you running on a UNIX machine?

> 
> Any suggestions are welcome and if necessary I can provide you with more 
> info.
> 
> Thanks
> 
> Alex.
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faq
> 

-- 
-Achilleus