2012-07-17 89 views
1

我用石英NET库的计划任务Quartz调度自动停止。在IIS 7

及其me.But工作的罚款。当我让住在生产服务器IIS 7.Initially它的作品完美,但3-4个小时后自动stops.I必须重新启动调度程序。 问题是什么。

没有任何异常generated.As我正在记录异常的日志file.But没有什么关于从调度错误写入。

ISchedulerFactory schedFact = new StdSchedulerFactory(); 

    // get a scheduler 
    IScheduler sched = schedFact.GetScheduler(); 

    sched.Start(); 


    JobDetail jobDetail = new JobDetail("myJob", null, typeof(DumbJob)); 

    DateTime dt = DateTime.Now; 
    dt = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dt, TimeZoneInfo.Local.Id, "India Standard Time"); 

    SimpleTrigger trigger2 = new SimpleTrigger("myTrigger", 
          null, 
          DateTime.UtcNow, 
          null, 
          SimpleTrigger.RepeatIndefinitely, 
          TimeSpan.FromSeconds(60)); 

    sched.ScheduleJob(jobDetail, trigger2); 

回答

0

请检查您的Quartz调度程序的线程数。 在web配置中,您可以按如下方式定义线程数。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="quartz" 
      type="System.Configuration.NameValueSectionHandler, 
      System, Version=1.0.5000.0,Culture=neutral, 
      PublicKeyToken=b77a5c561934e089" /> 
    </configSections> 
    <quartz> 
    <add key="quartz.scheduler.instanceName" value="ServerScheduler" /> 
    <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" /> 
    <add key="quartz.threadPool.threadCount" value="10" /> 
    <add key="quartz.threadPool.threadPriority" value="2" /> 
    <add key="quartz.jobStore.misfireThreshold" value="60000" /> 
    <add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" /> 
    </quartz> 
</configuration> 

我希望这会帮助你。