Jon*_*Jon 3 .net c# quartz-scheduler quartz.net quartz.net-2.0
刚刚下载了Quartz.Net,请阅读过时的文档,最后得到的代码我认为是正确的.(如果不是,请告诉我)
我把它放在我的ASP.Net应用程序的Application_Start中,代码被执行但是作业没有运行.我想我在某处读到将Quartz设置为单例,但不确定我是否已经在这里完成了?
我想将其设置为每天运行9.00,但现在使用StartNow检查它是否有效.
请告知我要做什么?
private void StartScheduler()
{
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();
scheduler.Start();
IJobDetail jobDetail = JobBuilder
.Create()
.OfType(typeof(DBCleanUpJob))
.WithIdentity(new JobKey("test", "1"))
.Build();
var trigger = Quartz.TriggerBuilder.Create()
.ForJob(jobDetail)
.WithIdentity(new TriggerKey("test", "1"))
.WithSimpleSchedule()
.StartNow()
.Build();
//.WithDailyTimeIntervalSchedule(x=>x.StartingDailyAt(new TimeOfDay(09,00)));
scheduler.ScheduleJob(jobDetail, trigger);
}
public class DBCleanUpJob : IJob
{
private IDocumentSession DocumentSession;
public DBCleanUpJob(IDocumentSession DocSession)
{
DocumentSession = DocSession;
}
#region IJob Members
public void Execute(IJobExecutionContext context)
{
throw new NotImplementedException();
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
正如你所说,调度程序应该是一个单例.与调度程序有关的代码不是单例,调度程序只存在于应用程序启动的范围内,而不是运行的应用程序.
public static IScheduler Scheduler { get; private set; }
private void StartScheduler()
{
Scheduler = new StdSchedulerFactory().GetScheduler();
Scheduler.Start();
var jobDetail = JobBuilder
.Create()
.OfType(typeof(DBCleanUpJob))
.WithIdentity(new JobKey("test", "1"))
.Build();
var trigger = Quartz.TriggerBuilder.Create()
.ForJob(jobDetail)
.WithIdentity(new TriggerKey("test", "1"))
.WithSimpleSchedule()
.StartNow()
.Build();
//.WithDailyTimeIntervalSchedule(x=>x.StartingDailyAt(new TimeOfDay(09,00)));
Scheduler.ScheduleJob(jobDetail, trigger);
}
Run Code Online (Sandbox Code Playgroud)
正如杰霍夫指出的那样.如果在一段时间内没有活动,IIS将关闭网站/应用程序.
另请注意,您的作业无法访问asp.net管道.作业不在请求的上下文中执行,因此会话,请求,响应,cookie不可用于作业.
最后,如果您希望调度程序始终运行,则需要独立于网站.Windows服务是一个很好的选择.创建一个Windows服务项目,并在服务启动时启动调度程序.然后,您可以在网站上设置石英以将作业代理到Windows服务.允许站点调度作业,但实际的存储和执行由Windows服务调度程序执行.
| 归档时间: |
|
| 查看次数: |
4812 次 |
| 最近记录: |