public class JobRunner
{
internal Timer Timer;
internal readonly IEnumerable<YuartzJob> Jobs;
public void Start()
{
this.Timer = new Timer(5000);
this.Timer.Elapsed += Timer_Elapsed;
this.Timer.Start();
}
public void Stop()
{
this.Timer.Stop();
}
internal void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
foreach (var job in Jobs)
{
MyActivator.RunJob(job);
}
}
}
public class MyActivator
{
public static void RunJob(YuartzJob job)
{
var objectHandle = Activator.CreateInstance(job.AssemblyName, job.ClassName).Unwrap();
var currentJob = (IJob)objectHandle;
currentJob.Run();
}
}
MyActivator.RunJob(job) を使用した場所をどうすればよいですか:
- ThreadPool を使用して MyActivator.RunJob を呼び出す必要がありますか?
- Threads を使用して MyActivator.RunJob を呼び出す必要がありますか?
- BackgroundWorker を使用して MyActivator.RunJob を呼び出す必要がありますか?
- 何もしなくてもこのままでいいの?