03 February 2007

random design points

I've been working on the hardest part of the caatt system... the scheduler. I had previously left the designations of some of the fields in the database's tasks table kinda up in the air. As I work on implementing it, I need them to solidify, so I'm documenting them here.

First off, I added an additional column, sched_skip of type tinyint. This is a convenience scheduling knob for things that are "every N intervals", like "every other day", "every 4 months", etc. (this removes the "bi-weekly" previously mentioned as a scheduling process.)

Sched_offset is another that was vague. It's meaning changes based on the value of sched_process.

When sched_process is 1 (annual) then the MONTH and DAY portion of sched_offset is the day of the year to schedule the task on. (really, it's the number of months and days into the period.)

When sched_process is 2 (half) then the MONTH and DAY portion of sched_offset is the offset of months and days into the period to schedule on. Ditto 3 (quarterly).

When sched_process is 4 (monthly) then the DAY portion of sched_offset is the offset into the month. Ditto 5 (weekly).

Labels: ,

0 Comments:

Post a Comment

<< Home