问题标签 [quartz.net-2.0]
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 2.0 中将 cron misfire-instruction FireOnceNow 与 AdoJobStore 一起使用?
我在使用AdoJobStore设置并使用XMLSchedulingDataProcessorPlugin
.
cron-expression
已设置,因此作业将每 1 分钟触发一次:0 0/1 * * * ?
.
作业调度程序设置为在Global.asax.cs
.
预期行为:如果服务器在应触发作业时停止但在下一次触发之前重新启动,则应立即触发一次。
例子:
第一份工作在00:01:00触发。
我在00:02:00可以触发之前停止服务器,但在它应该触发后几秒钟启动它,比如说00:02:10。
当我重新启动服务器时(在00:02:10),我希望在 00:02:00 失败的作业会触发一次,然后正常的触发行为将继续。
真正发生的是什么都没有触发。它只是从00:03:00继续触发。
任何想法我必须做些什么才能使其按预期工作?
谢谢你的帮助!
@Global.asax.cs:
@quartz_jobs.xml:
@web.config:
@TestJob.cs:
reflection - Quartz.NET 作为在 GAC 中具有依赖关系的 Windows 服务
我已经将 Quartz 设置为 Windows 服务(如果重要,则使用 AdoJobStore)并设法通过远程添加/调度位于我自己的项目 Company.Project 中的自定义 IJob 与 ASP.NET 站点进行通信。服务层。
这花了我一段时间,但只要在 Windows 服务文件夹和网站 bin 文件夹中都存在 Company.Project.ServiceLayer.dll,我的开发机器上一切正常。但是在生产环境中,需要将 Company.Project.ServiceLayer.dll 添加到 GAC。我试图在我的开发机器上模拟这个,从服务文件夹中删除 Company.Project.ServiceLayer.dll 并使用 gacutil 将其添加到 GAC 中。不幸的是,现在当服务启动并尝试实例化我的 IJob 实例时,它无法从 GAC 加载程序集并抛出异常“无法加载文件或程序集”(下面的详细信息)。
我猜 Quartz 在 [QRTZ_JOB_DETAILS].[JOB_CLASS_NAME] 字段中使用反射和 DB 值来尝试加载类?我可能完全错了,但因为这个值(“Company.Product.ServiceLayer.SchedulerJobs.QuintilesEasyJob, Company.Product.ServiceLayer”)只是类的部分描述(它缺少版本和公钥令牌)不是意味着.NET在进行反射时不会查看GAC,因为只有强命名的dll才能存在?这就是我的 GAC 设置现在失败的原因吗?Quartz Windows 服务可以与 GAC 中的 dll 一起使用吗?
非常感谢任何帮助。
c# - 如何忽略 Quartz.Net 中的 Misfires?
这是我的石英配置:
这是我的IInterruptableJob
:
这是我的工作和触发器:
在我调用scheduler.PauseAll()
所有工作暂停并调用scheduler.ResumeAll()
所有未命中的火灾之后,被解雇!但我想忽略它们,从现在开始继续。
提前致谢。
quartz.net - 管理 Quartz.Net 的配置
Quartz.Net 使用 XML 文件来配置要运行的作业以及运行这些作业的计划。据我了解,XML 配置的唯一其他选择是在编译时配置作业和计划。
我们有大量计划任务(250 个任务,每个任务部署到 3 到 5 个环境中),并且正在寻求迁移这些任务以使用 Quartz.Net。
[1] 在 Quarts.Net 中管理作业和调度配置信息是否有任何最佳实践?
[2] 是否有任何工具可用于创建配置文件?
作业的示例配置是:
c# - Quartz.Net - 使用 log4net 进行通用日志记录
我正在尝试实现 Quartz.Net。只要没有配置日志记录,一切正常(调试输出显示“未找到配置部分 - 抑制日志记录输出”)。
启用日志记录后,我将收到以下错误:Failed getting configuration for Common.Logging from configuration section 'common/logging'。
内部异常:为 common/logging 创建配置节处理程序时出错:无法创建类型“Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter,Common.Logging.Log4net”
我使用了几种资源来验证我的配置,但据我所知,它应该是正确的。
我的 app.config:
我引用了以下程序集:
quartz.dll,版本 2.01.100
common.logging.dll,版本 2.0.0.0
common.logging.log4net.dll,版本 2.0.0.0
log4net.dll,版本 1.2.10.0
我找不到给出错误的原因。欢迎所有帮助,显然我忘记了一些事情......
unit-testing - 单元测试:Quartz.net Fire 按需触发
我正在为预定的工作进行单元测试,我正在使用 Quartz.net,我是这个库的新手。
我需要强制触发器按需触发,以便执行作业并且我可以检索测试结果。我正在使用SimpleTriggerImpl
,并且我尝试通过设置来触发触发器trigger.StartTimeUtc = DateTime.UtcNow
,但是没有调用作业 Execute 方法。我怎样才能做到这一点?
谢谢
c# - Quartz.NET 只执行一次作业
我正在尝试在 Quartz.NET 2.0 中进行简单的计划作业
我读过一个类似的问题,但对我没有用。
问题是作业在 StartAt 触发器后只执行一次。
这是我的代码:
这项工作很简单......但为了测试它,我不得不提出一个错误,该错误被单独捕获和处理,并且不影响实际工作。
在它第一次运行作业后,它被阻塞了
在 SimpleThreadPool 的 Run 方法中。
有什么建议么?
PS:该应用程序是 WCF IIS 托管服务。
编辑:
还是行不通。
同样的问题。
c# - Quartz.NET 设置 MisfireInstruction
我正在使用 Quartz.NET 在 C# 中工作,并且在 CronTrigger 上设置失火指令时遇到问题。我正在运行安装了 Quartz DB 的 SQL 后端。我有以下代码可以很好地创建作业和运行调度程序。
我可以访问的唯一错误指令是trig.MisfireInstruction
哪个是 int,我无法设置它。还有一些从WithMisfireHandlingInstruction
CronScheduleBuilder 开始的函数。
c# - 如何在 Quartz.Net 中向类发送参数
我使用 Quartz.Net(版本 2)在每天 8:00 和 20:00(IntervalInHours = 12)在课堂上运行一个方法
一切都很好,因为我使用了与 Quartz.Net 上的教程相同的作业和触发器,但是我需要在类中传递一些参数并根据这些参数运行方法。
谁能帮助我在使用 Quartz.Net 时如何使用参数?
quartz.net - quartz.net 配置作业类型参数的第二个值是多少?
我正在尝试在我的网络项目中使用 Quartz.net。我这样配置我的应用程序:
但由于工作类型声明,它不起作用。我的 Job 类的定义如下,它的命名空间是 ReportingPortalBll.Jobs
在我将其更改为 ReportingPortalBLL.Jobs.CRMCalledMoreThanOneJob 后,ReportingPortalBLL(没有 .Job)运行良好。
我查看了文档,但找不到 job-type 参数的第二个值表示的内容。我应该在第二个参数上写什么?下面表示的第二个值是什么意思?我将在我的其他项目中使用 Quartz,所以很高兴知道如何轻松配置它。