Tag: quartz.net

作业不使用JobChainingJobListener链接

我有我的Quartz调度程序的当前代码: var scheduler = StdSchedulerFactory.GetDefaultScheduler(); // Job1 var Job1 = JobBuilder.Create().WithIdentity(“job1”, “group1”).Build(); // Job2 var Job2 = JobBuilder.Create().WithIdentity(“job2”, “group2”).Build(); // Triggers ITrigger trigger1 = TriggerBuilder.Create().WithIdentity(“trigger1”, “group1”).StartNow().Build() ITrigger trigger2 = TriggerBuilder.Create().WithIdentity(“trigger2”, “group2”).StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(1).WithRepeatCount(4)).Build(); // JobKeys JobKey jobKey1 = new JobKey(“Job1”, “group1”); JobKey jobKey2 = new JobKey(“Job2”, “group2”); // Chain jobs JobChainingJobListener chain = new JobChainingJobListener(“testChain”); […]

获取正在Windows服务上运行的调度程序的实例

让我们说我已经准备好Quartz.NET作为Windows服务,它当前正在运行(在Sqlite上运行ADOJobStore )。 我需要在我的Windows应用程序上控制此服务,以便我可以停止它,启动它,添加和删除它的作业等。我怎样才能得到这个调度程序的实例? 很抱歉,如果这听起来像是一个简单的问题,但Quartz.NET上的文档似乎还不够。 只有少数人知道这一点,他们已经有了生命。 更新:我的服务的quartz.config文件 # You can configure your scheduler in either configuration section # or in quartz properties file # Configuration section has precedence quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz quartz.threadPool.threadCount = 10 quartz.threadPool.threadPriority = Normal # job initialization plugin handles our xml reading, without it defaults are used quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz quartz.plugin.xml.fileNames […]

.net核心石英dependency injection

如何在.net内核中配置Quartz以使用dependency injection? 我使用标准的.net核心依赖机制。 在实现IJob的类的构造函数中,我需要注入一些依赖项。

Quartz.net – 每隔m个月在第n天重复一次?

使用Quartz.NET,我正在尝试创建一个触发器: 从9月30日开始, 在最后一天重复 每5个月一次 。 能够使用ITrigger.GetFireTimeAfter()来计算/投射下一个火灾时间(UI反馈) 预期: 2017年9月30日 2018年2月28日 2018年7月31日 2018年12月31日 我以为我可以使用CronTrigger (即0 0 0 L 9/5 ? * ) 但预计的日子是: 2017年9月30日 2018年9月30日 2019年9月30日 无法使用CalendarIntervalTrigger : 例如,如果您选择1月31日发生的开始时间,并且具有单位月和间隔1的触发器,那么下一个开火时间将是2月28日,下一个开始时间将是3月28日 – 并且基本上每个随后的解雇将在本月28日进行,即使存在第31天。 如果您想要一个始终在该月的最后一天触发的触发器 – 无论该月的天数如何,您都应该使用ICronTrigger Quartz.NET文档 我该如何安排这样的触发器? 我是否必须从头开始实现自己的触发器和IScheduler? 或者有没有办法让我注入自定义计算? 谢谢

Quartz.NET,每x周重复一次

我需要使用Quartz.NET实现以下场景: 每隔n周重复一次: 周日和/或周一,周二,周三,周四,周五,周六…… 例如,我可能会选择:星期一和星期四,每两周复发一次,这可能吗? 我认为可行的方法可能是使用Cron Expressions,但到目前为止,我还没有运气“Recur Every X Weeks” 谢谢!

回收或重启后无法在IIS上保留Web应用程序

我有一个MVC应用程序,使用Quartz.NET定期发送电子邮件。 尽管已发布的应用程序在IIS正常运行,但在回收应用程序池或在IIS上重新启动应用程序后,它无法运行。 在网上搜索我发现有几个post建议对配置文件或IIS进行一些更改,但它们都没有正常工作。 那么,有什么方法可以解决这个问题吗? 我需要一个可以应用于应用程序端的解决方案(如果只是简单地进行配置更改等,则需要在IIS端)。 我认为这是在IIS上保留应用程序时的常见问题,不是吗? 注意:我使用的是Windows Server 2008和IIS 7.5。

获取Quartz.NET 2.0中的所有工作

我在服务器上设置了AdoJobStore,我的所有工作都运行得很好。 现在我正在编写一个远程客户端来管理我的所有工作。 调度新作业非常简单,但我似乎无法检索2.0版中的现有作业列表。 我发现的所有资源都做了类似的事情。 var groups = sched.JobGroupNames; for (int i = 0; i < groups.Length; i++) { string[] names = sched.GetJobNames(groups[i]); for (int j = 0; j < names.Length; j++) { var currentJob = sched.GetJobDetail(names[j], groups[i]); } } 我面临的问题是GetJobNames已被删除,并且查看源代码,已被移至JobStoreCpportinheritance的基类JobStoreSupport。 然而,该方法已被标记为受保护,因此无法从外部访问。 如何在2.0中检索工作列表?

IIS应用程序池回收+石英计划

我正在IIS 7.5上运行一个Web应用程序,它需要偶尔回收(否则内存使用不再处理,我正在研究的东西!)。 当它再循环时,它实际上不会运行,直到另一个请求进入,石英不会运行。 有没有办法让IIS在回收应用程序池后立即自动启动1个工作流程,以确保石英始终在线?