【发布时间】:2017-05-06 12:28:42
【问题描述】:
我使用 Quartz.net 来安排一些任务。问题是它只能在本地调试时工作。
代码在我的本地服务器和生产环境中也无法运行。
请不要将其标记为重复,因为其他问题中提到的解决方案都没有解决我的问题。
public class JobScheduler
{
public static ISchedulerFactory schedFact;
public static IScheduler sched;
public static void Start()
{
schedFact = new StdSchedulerFactory();
// get a scheduler
sched = schedFact.GetScheduler();
sched.Start();
IJobDetail job = JobBuilder.Create<RemovePlanJob>().Build();
int hours = Convert.ToInt32(System.Web.Configuration.WebConfigurationManager.AppSettings["schedulerHours"].ToString());
int minute = Convert.ToInt32(System.Web.Configuration.WebConfigurationManager.AppSettings["schedulerMinutes"].ToString());
ITrigger trigger = TriggerBuilder.Create()
.WithDailyTimeIntervalSchedule
(s =>
s.WithIntervalInHours(24)
.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(hours, minute))
)
.Build();
sched.ScheduleJob(job, trigger);
}
}
public class RemovePlanJob : IJob
{
public void Execute(IJobExecutionContext context)
{
//execute code
}
}
任何帮助都会很棒!
【问题讨论】:
-
“代码不工作” 什么不工作? “其他问题中提到的解决方案都没有解决我的问题”您尝试了哪些解决方案?
-
@Rabban,我尝试将 IIS 服务器设置更改为空闲超时,将 ISchedulerFactory 和 IScheduler 设为静态以拥有单个实例。最后,我认为问题出在时区上。谢谢你的帮助!!
标签: asp.net asp.net-web-api2 quartz.net quartz