如何设置 Quartz.NET 来安排电子邮件

2024-03-06

有两种解决方案Quartz.server.2008.sln and 石英.2008.sln在下载的quartz.NET 库中。现在我必须设置重复工作。数据库中会有一个表格,其中定义了所有时间表(例如每月的第一个星期五、每月 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 服务器文档 https://stackoverflow.com/q/1004133/735864

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置 Quartz.NET 来安排电子邮件 的相关文章

随机推荐