Skip to main content
 首页 » 编程设计

c#之如何设置 Quartz.NET 以安排电子邮件

2024年02月03日30lhb25

下载的quartz.NET库中有Quartz.server.2008.sln和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