下载的quartz.NET库中有Quartz.server.2008.slnVàquartz.2008.sln两个方案。现在我必须设置重复工作。数据库中将有一个表,其中将定义所有计划(例如每月的第一个星期五,每月的每个 5,每个星期日上午 12 点......等)。我按计划执行了该方法。现在我如何使用 quartz.net 从数据库中获取计划并设置要执行的方法?正确的步骤是什么?
我认为您可以创建一个在后台运行的 Windows 服务。您可以从数据库中读取 scheduleFromDatabase
变量,然后将其传递给 Quartz。
这是控制台应用程序中的一个小示例:
static void Main(string[] args)
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = schedFact.GetScheduler();
sched.Start();
JobDetail jobDetail = new JobDetail("myJob", null, typeof(HelloJob));
//read this string from database
string scheduleFromDatabase="0 11 16 ? * FRI,SUN";
CronTrigger trigger = new CronTrigger("trigger1", null, "myJob",
null,scheduleFromDatabase );
trigger.StartTimeUtc = DateTime.UtcNow;
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);
}
public class HelloJob:IJob
{
public void Execute(JobExecutionContext context)
{
Console.WriteLine(DateTime.Now.ToString());
//Call here your method!
}
}
这很有用:
Quartz.NET server documentation
Tôi là một lập trình viên xuất sắc, rất giỏi!