2012-07-17 47 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> 

我希望這會幫助你。