Create a Scheduler using a .config file
Thursday, September 13, 2007
This sample shows how to create a Scheduler automatically from a configuration file with DemiCode Scheduler.
Sample configuration file
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="scheduling"
type="DemiCode.Scheduling.Configuration.SchedulerSettings,
DemiCode.Scheduling, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=069d10bcdee4c3e4" />
</configSections>
<scheduling defaultScheduler="prod">
<schedulers>
<scheduler name="prod">
<IntervalSchedule name="FiveSec">
<start>2006-11-30 15:50:00</start>
<interval>00:00:05</interval>
</IntervalSchedule>
</scheduler>
</schedulers>
</scheduling>
</configuration>
Sample code
This code uses the above configuration file to create the Scheduler.
using System;
using DemiCode.Scheduling;
using DemiCode.Scheduling.Alarms;
public class Sample
{
private Scheduler _scheduler;
public void StartHere()
{
// 1. Create default scheduler from configuration
_scheduler = Scheduler.CreateFromConfig("scheduling");
// 2. Hook up to events
_scheduler.ScheduledAlarm += new EventHandler<AlarmEventArgs>(FiveSecInterval_Alarm);
// 3. Start the engine
_scheduler.Start();
}
private void FiveSecInterval_Alarm(object sender, AlarmEventArgs e)
{
Console.WriteLine(
"Scheduler Five Sec Interval. Event alarm time {0}, signaled at {1:yyyy-MM-dd HH:mm:ss:ff}",
e.SignalTime, e.ActualSignalTime);
}
}
To use the code, create an instance of the Sample class, and call the StartHere method.
Sample s = new Sample();
s.StartHere();
|