Rather than spawning a new timer for each job, NCron should use a priority queue with all tasks ordered by their next execution date/time. A single timer is then enough to make the service sleep until the item at the head of the queue is due for execution.
Research must be made to determine how other cron daemons react to the event where the CPU time is changed during a "sleep period". Should the service wake op periodically to recompute distance to next job execution?
Comment #1
Posted on Jan 6, 2010 by Quick Horse(No comment was entered for this change.)
Comment #2
Posted on Jan 7, 2010 by Quick Horse(No comment was entered for this change.)
Comment #3
Posted on Jan 7, 2010 by Quick HorseRefs issue #7
Comment #4
Posted on Jan 17, 2010 by Quick HorseNCron.Service.Scheduling namespace now contains a SchedulingService which internally uses a JobQueue and a single timer to schedule job execution.
Status: Fixed
Labels:
Type-Enhancement
Priority-High
Milestone-Release2.0
Component-Service