问题标签 [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.
quartz-scheduler - 使用 Quartz.NET NthIncludedDayTrigger 所需的帮助和建议
我最近开始使用 Quartz.NET,到目前为止,它真的很有帮助。现在,我正在尝试使用它来创建一个使用 NthIncludedDayTrigger 每月运行一次的作业(我想使用 NthIncludedDayTrigger,因为最终我将指定一个日历来排除周末/节假日)。
为了熟悉代码,我设置了一个简单的控制台应用程序来创建一个 NthIncludedDayTrigger ,其中第一次触发时间将是从现在开始的 15 秒:
运行此程序会导致作业在一分钟内多次执行(大约每秒一次)。我正在使用 ADO.NET 作业存储,并且可以在我的数据库中看到 QRTZ_TRIGGERS.NEXT_FIRE_TIME 设置为上次执行时间,即似乎没有计划再次运行。
我希望上面的代码运行一次作业(大约 15 秒后),然后安排作业在一个月内再次运行。
也许问题只是我在试验期间使用 Quartz.NET 的方式,或者我的期望是错误的?无论哪种方式,我都会非常感谢任何帮助/建议来解释我观察到的行为,以及我需要改变什么以获得我想要的行为。
.net - 在 windows 调度程序上使用 Quartz.net 的优点和缺点是什么?
对于日常任务,例如
- 将csv文件转换为excel文件;
- 创建excel文件(其内容是使用财务方法创建的);
- 移动和复制文件;
- 计算日常财务和风险分析指标;和
- (这个列表会随着时间的推移而增长,并且会变得更加复杂......)
与 Windows 调度程序相比,Quartz.Net 更适合吗?(注:我正在寻找优点/缺点)
背景
目前,我们已经创建了许多启用 Excel 宏的工作簿来完成上述任务。这些从表面上看似乎很简单,但是它们每个都有自己的一套复杂性,而 VBA(或者我应该说是我)正在设法实现。
由于我们在谈论 Excel,切换到 Quartz 的明显初始缺点是将所有 VBA 代码转换为 .Net(最好是 C#,但我认为 VB.Net 应该更快)。但是,这些任务也可以转换为可以在 Windows 调度程序上运行的简单控制台应用程序。迄今为止,使用 Windows 调度程序的当前设置与 Excel 宏配合良好。
我最近偶然发现了 Quartz.Net,想知道这是否是一个长期的选择。这背后的另一个主要驱动力是上面的日常任务列表将会增加,我认为 Windows 调度程序的维护可能会成为一个问题,尤其是在访问权限和作业监控方面。
此外,在任何情况下,从 VBA 迁移到 .Net 都是不可避免的,因为当前的设置允许一些用户修补 VBA,然后他们想知道哪里出了问题。
我最初的想法让我想到,Quartz 是更好的选择(略过教程)。但是,结合上述转换所花费的时间以及 Quartz 所涉及的学习曲线,我是否会为业务提供和增加有形价值?
asp.net - 如何在 Quartz.Net 中处理应用程序关闭
我使用 Quartz.Net 从我的应用程序中排队和发送电子邮件。我不知道每个计划的作业如何响应应用程序实例停止、暂停或关闭。IJob 接口没有可以通知正在运行的作业有关这些事件的方法。
我的问题是当它们发生时我该如何处理这些情况,以便作业可以退出,同时让应用程序和数据保持稳定状态?
c# - Quartz.NET 初学者,需要一些指导
我昨晚发帖说我正在创建一个 Windows 服务,其任务是通过指定路径(网络共享、ftp 服务器、http 服务器)和要移动的文件的正则表达式来移动各种文件。这些任务将通过 ASP.NET 接口添加,实际服务将使用 C#。
经过一些建议后,我决定研究 Quartz.NET,它似乎非常适合这个目的。不过,我很难把我的注意力全部包起来——我已经设置了它,以便将作业存储在数据库中,并运行内置的 SQL 查询来制作表格。我从这里去哪里?如何定义可能存在的作业类型,是否可以通过 ASP.NET 网页将作业输入到数据库中?
谢谢
c# - Quartz.NET 审计
我将使用 Quartz.NET 作为我正在创建的 Windows 服务。
我要求在完成或失败后将执行的所有作业审核到单独的表 (QRTZ_AUDIT) 中,但是有内置的方法吗?
我可以简单地手动打开与作业表和审计表的连接,并将相关行复制到审计表,但是当可能存在内置功能时,这似乎需要付出很多努力。
c# - Quartz.NET 中的作业详细信息
我今天问了很多关于 Quartz.NET 的问题,但我在理解方面取得了进展,非常感谢你们帮助我。我现在认为我了解这些工作是如何工作的,但我有一个问题。
对于每个作业,他们需要在“QRTZ_JOB_DETAILS”中有 3-4 个额外字段,例如路径名等。我添加了这些,但是我如何在作业中访问这些信息,以便我可以使用这些字段中的数据来携带出去工作?例如,作业需要将文件移动到指定路径,但我不确定如何从该列中提取信息。
对于 Quartz.NET 中内置的列,我知道如何访问这些列,方法是执行以下操作:
但是我添加的新列似乎不存在任何方法。我如何访问这些?
c# - 在 C# 中使用来自其他命名空间/页面的类
在我的项目中,我有 2 个主要文件 - 一个 C# Windows 服务,它使用 Quartz.NET(使用数据库而不是基于 RAM 的调度)来调度和实际运行作业,以及一个 ASP.NET(使用 C#)后端,用于将作业添加到Quartz.NET 调度程序。所有作业“类型”都在 Windows 服务文件中定义,因此当我尝试将作业添加到 ASP.NET 后端上的某个类别时,它不会选择该类别。这是因为所有类别都只是文件中它们自己的类,并且它们都在 Windows 服务文件中 - 所以当我在 ASP.NET 文件中引用它们时,它不知道它们是什么。
如何将其链接到 Windows 服务文件?如果有帮助,代码是这样的
在 ASP.NET 页面中添加作业时:
在 Windows 服务文件中:
谢谢
c# - ADO.NET 和 Quartz.NET
我使用 Quartz.NET 和一个数据库,即 ADO.NET。问题是,当我的工作被创建时,它们根本没有被保存到数据库中。我是否正确配置了所有内容?我正在使用 SQL Server Express,我的数据库的路径是“chris\sqlexpress.Quartz.dbo”。
配置文件的相关部分:
调度程序初始化和作业添加:
c# - 为什么我不能在 Quartz.NET 中为“typeof”使用变量?
我正在尝试使用 Quartz.NET 以 ASP.NET (C#) 形式创建工作,这就是我目前所拥有的:
问题是,我不想直接链接到 HTTPtoFTP 类,因为根据用户在表单上选择的内容,它会链接到单独的类。我尝试使用变量代替 HTTPtoFTP,但出现错误:
找不到类型或命名空间“mergedJobType”(您是否缺少 using 指令或程序集引用?)
为什么是这样?我想这样做的一种方法是使用 IF 语句,我只需复制该行并为每种可能性更改 typeof,但似乎我也必须复制所有其他引用 jobDetail 的行。
c# - C# 类中的方法
我的项目中的类库中有许多不同的类。我正在使用 Quartz.NET(一个调度系统)来调度和加载作业,实际的作业执行是在这些类库中完成的。我计划有很多类型的作业类型,每一种都会有自己的类在类库中执行。
我遇到的一个问题是我不能在这些类中嵌套方法。例如,这是我的课:
如果我尝试将一个方法放在类的执行部分,例如......
它希望在我的 GetFileList 开始之前结束执行方法,并且也不让我访问我需要的上下文变量。
我希望这是有道理的,再次感谢 - 你们统治