【问题标题】:Quartz .Net resume after application restart应用程序重新启动后 Quartz .Net 恢复
【发布时间】:2017-11-22 08:49:13
【问题描述】:

我有使用 MS SQL 的石英,它将所有作业详细信息存储在 sql 中,但我不知道如何设置它以在应用程序重新启动后恢复所有作业。

谁能告诉我如何设置quartz以在应用程序重启后恢复工作。

这就是我在 api 调用上安排工作的方法

File.AppendAllText(@"C:\Temp\test.txt",$"Starting sechd at {DateTime.Now.ToString("ddMMyyyyHHmmss")}");
            ISchedulerFactory sf = new StdSchedulerFactory();
            IScheduler sc = sf.GetScheduler();
            sc.Start();
            IJobDetail emailJob = JobBuilder.Create<EmailJob>()
         .WithIdentity("reportemail", "reportgroup")
         .Build();
            string dom = js.DayOfMonth.ToString();
            if (js.DayOfWeek > 0)
                dom = "?";
            string dow = (js.DayOfWeek < 1) ? "*" : js.DayOfWeek.ToString();
            string y = (js.Year > 0) ? js.Year.ToString() : "*";
            string m = (js.Month > 0) ? js.Month.ToString() : "*";
            string crn = $"{js.Second.ToString()} {js.Minute.ToString()} {js.Hour.ToString()} {dom} {m} {dow} {y}"; 
            ITrigger trigger = TriggerBuilder.Create()
                 .ForJob(emailJob)
                 .WithIdentity("reporttrigger","reportgroup")
                 .WithCronSchedule("0 0/3 * ? * *")
                 .StartNow()
                 .Build();

            sc.ScheduleJob(emailJob, trigger);

谢谢

【问题讨论】:

标签: quartz-scheduler quartz.net quartz


【解决方案1】:

我目前在我的 MVC 应用程序中使用 Quartz.Net,我所做的是在我的 JobScheduler.cs应用程序启动。

在 Global.asax 中,我实例化了 JobScheduler,然后调用 start 方法,该方法依次调用。启动我设置的所有运行计划。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    相关资源
    最近更新 更多