问题标签 [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.

0 投票
2 回答
11577 浏览

asp.net-mvc-3 - 如何创建需要使用 autofac 进行注入的 Quartz.NET 作业

我正在尝试让 Quartz.net (2.1.2) 与 IoC 容器 (autofac) 一起使用,因为我有需要在计划作业中使用的服务。我在这个主题上找到了类似的帖子,但我似乎无法找到一个带有 autofac 特定注册示例的帖子。

以下帖子涉及我遇到的相同问题:

如何使用 Quartz.net 2.0 安排任务?

但是,我认为我缺少的部分是当答案说“并且不要忘记在 IoC 容器中注册作业”时。我不确定如何准确地做到这一点,因为到目前为止我所尝试的一切都没有奏效。

在以下示例中,“HelloJob”将运行,但每当我尝试将 releaseService 注入“ReleaseJob”时,它都会拒绝运行。

更新: 我在 DependencyRegistration.cs 部分中标记了我认为问题所在的代码。

更新2: 一些与我需要做的事情相关的相关链接可能会有所帮助(我已经完成了所有这些但仍然无法弄清楚如何使用autofac):

如何以 PRO 方式使用 Quartz.NET? - http://blog.goyello.com/2009/09/21/how-to-use-quartz-net-in-pro-way/

Autofac 和 Quartz.NET - http://blog.humann.info/post/2013/01/30/Autofac-and-QuartzNET.aspx

使用 Quartz.NET 和 Simple Injector 进行构造函数注入 -使用 Quartz.NET 和 Simple Injector进行构造函数注入

ASP.Net MVC 3、Ninject 和 Quartz.Net - 如何? - ASP.Net MVC 3、Ninject 和 Quartz.Net - 如何?

以下是相关代码:

全球.asax

依赖注册.cs

作业工厂.cs

ReleaseJob.cs

发布服务模型.cs

0 投票
1 回答
200 浏览

quartz-scheduler - 多个 Quartz.NET 调度程序服务和单个 Web 应用程序

我有一个场景,我可以在单个服务器上运行一对多的 Quartz 调度程序实例。基本上,您可以将其设想为公司内的每个部门都拥有自己的调度程序实例。每个调度程序都有自己独特的石英数据库支持,每个调度程序都包含在自己独特的 Windows 服务中。为了更好地说明:

服务器1

  • Accounting_WindowsService --> Accounting_QuartzScheduler --> QuartzAccountingDatabase
  • Sales_WindowsService --> Sales_QuartzScheduler --> QuartzSalesDatabase
  • IT_WindowsService --> IT_QuartzScheduler --> QuartzITDatabase

服务器2

  • Management_WindowsService --> Management_QuartzScheduler --> QuartzManagementDatabase
  • HR_WindowsService --> HR_QuartzScheduler --> QuartzHRDatabase

等等

在完全独立的服务器上,我有一个供公司所有部门使用的网站。但是该站点需要能够路由到正确的 Quartz 调度程序,以便用户可以调度和维护自己的作业以及查看现有作业及其状态等。例如,如果我以会员身份登录 Web 应用程序销售部门的我只想查看安排到 QuartzSalesDatabase 的作业,如果我想安排一个新作业,我需要一种机制来处理所需的 Sales_QuartzScheduler。这将如何最好地完成?谢谢

0 投票
0 回答
620 浏览

cron - 在我的quartz.net 工作调度程序中检查什么以了解时区的时髦性

使用 Quartz.net Server 版本 2.1.2,由于缺乏对 UTC 时区偏移的支持,我从 2.0 版本升级到该版本。在我们指定的时间没有发送作业,这似乎是因为时区偏移。

我有三种工作类型:

工作频率要求

  1. 每天(每天在给定时间一次)
  2. 每周(1 到 N 天,每天在给定时间一次)
  3. 每月(1 到 n 天、每天一次或最后一天)

对于这三个,我将 Cron 表达式与SimpleTriggers一起使用。

我的问题是: 我需要勾选哪些内容来验证我正在安排的作业以及将在服务器上运行的作业是否会在其时区按时运行?

似乎仅仅指定时区是不够的;我这样指定时区

但是在保存石英实例(在 PST 中)的服务器上,在纽约(美国东部标准时间)下午 2:00 安排了一项工作,“下一次运行时间”应该是下午 2:00,但它显示并在中午运行。

这里有几篇关于 Quartz Time Zones 的优秀 s/o 文章:

Quartz.net UTC 资源:

这是我目前每天安排的方式:

我尝试使用 DailyTimeIntervalTriggerImpl,但这似乎不是上述 3 种间隔类型中的任何一种的正确触发器。

我正在重构我的所有石英层,因此我正在寻找最佳实践和一种防弹方法,以确保作业将在我们指定的时间运行,无论 Quartz.net 作业服务器位于何处,以及在何处用户的时区起源于他们希望它最终到达的地方。

我们正在将我们的quartz.net 服务器移至AWS,因此我们将拥有一个分布式服务器场来托管这些服务器,其时区可能会发生变化。

如何设置我的石英架构,使其足够动态,并且如上所述,防弹,按时发送作业 - 无论 TimeZones / Offsets / DaylightSavings / LeapYear / Sleat / Snow / Rain / Zombie Attacks / Y2K /流星 ELE / 等 ?

谢谢你。

0 投票
1 回答
494 浏览

quartz-scheduler - CronCalendar 排除不适用于 Quartz.NET 中的 SimpleSchedule

CronScheduleBuilder 当我将 CronCalendar 排除项与or一起使用时,它不起作用SimpleScheduleBuilder

工作代码(当我在下午 4 点到下午 4 点 59 分之间运行时,触发器不会触发。)

不工作的代码(当我在下午 4 点和下午 4 点 59 分之间运行它时,无论 CronCalendar 是什么,触发器都会触发。)

错误或正常实施?

Quartz.net 版本是 2.1.2.400

0 投票
1 回答
4067 浏览

quartz.net - Quartz.net 延迟执行与 DisallowConcurrentExecution

我正在使用最新的 nuget Quartz.net 包(v2.1.2.400)。

这是我的工作...

这是我的工作和触发器设置...

这是我的配置...

如果我运行没有 [DisallowConcurrentExecution] 属性的作业,它会按预期运行(即每 10 秒),就像这样......

如果我使用 [DisallowConcurrentExecution] 属性运行作业,它很快就会像这样落后于计划......

如何防止并发执行并让我的作业按时运行?

0 投票
2 回答
2182 浏览

asp.net - 在 Windows azure 上使用quartz.net

我在我的 asp.net 应用程序中使用了quartz.net,当我在本地主机上运行时,quartz 调度程序可以工作,但是当我将站点发布到 Windows azure 时,它​​不再工作。任何帮助将非常感激。

0 投票
0 回答
327 浏览

c# - Quartz Fire Time 减少一小时

我最近从 1.x 升级到最新版本 2.1.2。我运行了 db 脚本并进行了必要的代码更改,我们现在只是在测试它。除了一个奇怪的例外,一切似乎都按预期工作。我们有一个小用户界面,我们可以查询 qrtz_trigger 表,以便我们可以看到运行时的所有计划。

当我使用每日 CRON 触发器安排作业时,它将在第一次运行的正确时间运行,但随后的时间将关闭一小时。例如,假设我安排每天下午 2:30 运行每日作业,我的 cron 表达式如下所示:

0 30 14 ? * 周一至周日

CRON 表达式也同样出现在 db 中。当我查看 qrtz_triggers 表时,我看到以下内容(从刻度转换而来):

  • NEXT_FIRE_TIME: 2013-08-15 14:30:00.000
  • PREV_FIRE_TIME:空

到目前为止,一切都很好。但随后触发器触发,运行作业并且 qrtz_triggers 表更新为:

  • NEXT_FIRE_TIME: 2013-08-16 13:30:00.000
  • PREV_FIRE_TIME: 2013-08-15 14:30:00.000

我们保持所有服务器在 UTC 上运行以避免混淆。这是一个错误吗?这里可能发生了什么?我们在 1.x 中看不到这种行为

0 投票
2 回答
2437 浏览

quartz.net - Quartz.Net - 如何在 2.0 中返回下一次触发时间列表

在版本 1 中,我们有 computeFireTimes 它将返回一个日期列表,这些日期是触发器的下一次触发时间

有没有办法在版本 2 中做同样的事情

0 投票
1 回答
827 浏览

c# - 使用 Quartz 调度作业 - 需要意见

这是我的要求。

主要作业:Job1(计划每 5 分钟运行一次) 附属作业:Job2、Job3、Job4、Job5 等,(所有附属作业将具有相同的定义,但只有 JobData 会有所不同)

在每次执行“Job1”期间,将安排一个辅助作业仅执行一次。示例:Job1 的第一次执行:Job“Job2”将在 DateTime.Now 2 分钟后安排。Job2 的第二次执行:Job“Job3”将在 DateTime.Now 2 分钟后安排...

现在,我希望所有作业都使用相同的 Scheduled。我的问题是 Quartz 是否对所有作业使用相同的调度程序,还是我们应该以编程方式设置它?

我正在使用 Windows 服务来启动和停止整个过程。这是 Windows 服务的代码。

这是类 TestJobScheduler 的代码。

还有一点是我将 AdoJobStore 与 OracleDelegate 一起使用。

有人可以告诉我我是否以正确的方式做事?

0 投票
1 回答
1365 浏览

c# - Quartz.NET 一次性作业

我创建了一个 ASP.NET MVC UI 来为作为窗口服务 (RAMJobStore) 运行的 Quartz.NET 调度程序创建触发和忘记作业,但我只是想知道是否需要清理已执行的作业。任何人都可以发光吗?以下代码是我用来从 MVC 控制器创建作业的代码。