问题标签 [quartz.net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 为什么 Quartz.Net 似乎要求我的项目以完整的 .NET Framework 4 为目标?
我已经开始在我拥有的类库项目中使用 Quartz.Net。似乎需要我的项目以完整的 .NET Framework 4 为目标,否则我会收到“找不到类型或命名空间名称”类型错误。
接下来的问题是,在我的 .NET 4 WPF 应用程序(使用此项目类库)中,我遇到了类似的问题,并且必须将客户端应用程序目标设置为完整的 .NET Framework 4(来自 .Net 4 客户端配置文件)。
有没有办法在使用 Quartz.Net 时仍然能够让我的客户端应用程序以 .Net 4 客户端配置文件为目标?
quartz.net - 在不重启服务的情况下更新 Quartz.NET 作业 DLL
我刚开始使用 Quartz.net,并将它作为服务运行。我创建了一个 Job 并将生成的 .dll 移动到 Quartz 文件夹,并在 jobs.xml 文件中添加了一个新条目,以每 3 秒启动一次。
我更新了作业 .dll,但 Quartz 正在使用它(或被锁定)。
是否可以在不重新启动 Quartz 服务的情况下更新 .dll?如果没有停止/启动 Quartz 服务,长时间运行的工作会发生什么情况?
quartz.net - Quartz.Net 作业并不总是运行 - 找不到任何原因
我们使用 Quartz.Net 来安排大约 200 个重复作业。每个作业使用相同的 IJob 实现类,但它们可以有不同的时间表。在实践中,他们最终有相同的时间表,所以我们有大约 200 个工作细节,每个都有自己的(相同的)重复/简单触发器,计划。间隔为一小时。
此作业执行的任务是下载 rss 提要,然后下载链接到 rss 提要中的所有媒体文件。在下载之前,它会擦除要放置文件的目录。一个作业的单次运行需要几秒钟到十几秒钟(有时更多)。
我们的调度方法是在一个新的 StdSchedulerFactory 上调用 GetScheduler()(所有作业都被同时调度到同一个 IScheduler 实例中)。我们使用立即 Start() 来遵循调度。
这些作业似乎运行良好,但经过仔细检查,我们发现少数作业偶尔 - 或几乎从未 - 运行。
因此,例如,所有 200 个作业应该在今晚 6:40 pm 运行。他们中的大多数人都这样做了。但少数没有。我通过查看文件时间戳来确定这一点,如果作业运行,肯定应该更新(因为它会删除并重新下载文件)。
我启用了 Quartz.Net 日志记录,并在我们的代码中添加了很多日志记录语句。
我收到日志消息,表明 Quartz 在一轮作业开始后大约一分钟内创建和执行作业。
之后,所有活动停止。没有作业运行,也没有创建日志消息。零。
然后,在下一个触发间隔,Quartz 再次启动,我的日志文件更新,各种文件开始下载。但是 - 它肯定看起来像一些 JobDetail 实例永远不会排在行首(可以这么说)或者很少这样做。在整个周末,一些作业似乎更新得相当频繁,最近,还有一些作业自周五启动该过程以来一次没有更新(它在 Windows 服务 shell 中运行,顺便说一句)。
所以......我希望有人能帮助我理解石英的这种行为。
我需要确定每项工作都能运行。如果错过了触发器,我需要 Quartz 尽快运行它。通过阅读文档,我认为这将是默认行为 - 对于具有无限重复计数的 SimpleTrigger,如果错过了触发窗口,它将重新安排作业以立即执行。情况似乎并非如此。有什么方法可以确定为什么 Quartz 没有解雇这些工作?我在跟踪级别记录,他们只是不在那里。它创建并执行了大量的工作,但如果我发现一个缺失 - 我只能找到它最后一次运行它(例如,有时它没有运行几个小时或几天)。没有任何关于它被跳过的原因(我希望 Quartz 会记录一些东西,如果它因为任何原因跳过工作)等等。
任何帮助都会非常非常感激 - 我花了一整天的时间来解决这个问题。
c# - quartz.net 是否意味着支持持续时间少于 1 秒的触发器?
quartz.net 是否意味着支持持续时间少于 1 秒的触发器?
我假设没有,因为我没有看到像 TriggerUtils.MakeMilliSecondlyTrigger 这样的任何方法。因此,我假设您会在如此短的时间内更好地查看创建线程并仅使用 Thread.Sleep 吗?
abstract - quartz.net 抽象基类
此链接建议创建一个抽象基类,该基类可以读取 Quartz.net 的作业数据映射信息,并且每个作业都将从该基类派生。
http://quartznet.sourceforge.net/faq.html#howtochainjobs
有人可以为我提供这个基类的示例,因为我不确定如何在基类中检索作业详细信息,然后在派生类上调用 Execute 方法?
普拉提克
quartz-scheduler - Quartz.Net - 延迟一个简单的触发器启动
我在 Quartz 中设置了一些作业以按设定的时间间隔运行。问题是,当服务启动时,它会尝试一次启动所有作业……有没有办法使用 .xml 配置为每个作业添加延迟?
以下是 2 个作业触发器示例:
如您所见,有 2 个触发器,第一个每天重复,下一个每天重复两次。
我的问题是我希望第一个或第二个工作在另一个之后几分钟开始......(因为它们最终都在访问相同的 API,而且我不想超载请求)
是否有重复延迟或优先属性?我找不到任何文件这么说..
scheduler - 调度程序上下文quartz.net
我在 Quartz.net 上安排了几项工作。我为每个工作重复了相同的工作细节,比如电子邮件地址、用户 ID ......每个工作可能有不同的触发器,所以我不能真正将工作细节放在每个触发器中。
有没有像调度上下文这样的其他地方,我可以将公共信息放置一次,而不是为每个作业重复?如果是,有人可以提供石英将使用的 xml 示例。
普拉提克
asp.net - Quartz.Net 嵌入到 Asp.NET MVC2 中,不会触发作业
我试图通过嵌入到我的 .Net MVC2 应用程序中来让 Quartz.net 工作。我知道这并不理想,但我只是想在将其转移到服务之前启动并运行它。我无法启动我的工作,但我认为我的配置正确。在我的 Global.asax.cs 中:
该方法直接取自教程:
和“控制器:”
什么都不会被解雇。这是怎么回事?我确信一定有一个简单的语法错误,但这让我发疯!
castle-windsor - 如何在需要空构造函数的类中注入我的存储库/接口?
在我的控制器中,我像这样访问我的存储库:
这使我可以操作对象并将对象持久保存到我的数据库中。我正在尝试使用 Quartz.Net,但 Quartz 作业采用一个空的构造函数,如下所示:
这将导致空对象引用,因为我还没有启动它。我该如何解决这个问题?我觉得这好像与温莎城堡有关,但我还是新手,不知道如何进行。我不能成为第一个使用 Quartz.Net 的 Sharp 项目的人,任何帮助将不胜感激。谢谢!
spring.net - 如何在 Quartz 中安排一个永远重复的工作?
是否可以以串行方式永远重复 Quartz 中的工作?
现在,如果我没有设置 RepeatInterval,我会收到一条错误消息,说 RepeatInterval 不能为零。
是否可以使用 Spring.NET 进行配置?我现在拥有的是这样的:
我不希望不同的线程执行相同的作业。我只想触发 DoIt。如果 DoIt 完成,则再次触发 DoIt。就像一个不定式 while 循环。