C#帮助实现使用quartz

时间:2016-01-25 08:46:37

标签: c# quartz-scheduler quartz.net

我需要使间隔取决于数据库配置。

所以例如控制台应用程序以10秒的间隔运行,如果我将间隔改为20秒,它将遵循新的间隔而不关闭控制台应用程序。

以下是当前配置:

NameValueCollection properties = new NameValueCollection();
properties["quartz.threadPool.threadCount"] = "1";

ISchedulerFactory schedFact = new StdSchedulerFactory(properties);
IScheduler sched = schedFact.GetScheduler();

sched.Start();
// define the job and tie it to our HelloJob class
IJobDetail job = JobBuilder.Create<Run>()
    .WithIdentity("myJob", "group1") // name "myJob", group "group1"
    .Build();


// Trigger the job to run now, and then every 30 seconds
ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .StartNow()
    .WithSimpleSchedule(f => f.WithIntervalInSeconds(10)
                              .RepeatForever())
    .WithPriority(1)
    .Build();


// Tell quartz to schedule the job using our trigger
sched.ScheduleJob(job, trigger);

1 个答案:

答案 0 :(得分:3)

根据Quartz.NET manual,您可以随时通过重新安排新触发器来更改现有触发器:

enable_extension('btree_gin')