问题标签 [quartz-scheduler]

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 投票
5 回答
325 浏览

java - 需要一种优雅的方式在指定的时间间隔内调用任意代码

好的,我有一个运行在 Java/Hibernate/Spring/Quartz 中的游戏服务器。游戏时钟与 Quartz 计时器一起滴答作响,效果很好。

然而,我还有许多其他事情需要在特定的、可调整的时间间隔内发生(在游戏时间,而不是实时)。

例如,每 24 小时游戏时间(约 47 分钟实时,取决于服务器时钟倍数)就会发生一堆不同的一天一次的游戏动作,比如补给,或者你有什么。

现在,当前系统非常粗糙,但是可以工作 - 我在数据库中有一个表,它本质上是一个 cron - 一个字符串键,下一个事件的执行时间,然后是小时、分钟、秒和天,直到下一个事件. 时间记录器会检查这一点,然后将包含该代码(事件字符串键)的消息发送到队列中,将天、分钟、秒添加到当前时间并将其设置为下一个执行时间。

消息监听器是最重要的部分——它打开按键并点击它的一种方法。

现在我明白这可以很好地工作,但它真的不适合我。你的解决方案是什么,让每段代码都放在自己的小类中?什么设计模式涵盖了这个?(我确定有一个)。我有一些想法,但我想听听一些意见。

0 投票
3 回答
20096 浏览

java - Quartz 调度程序不显示 Log4j 消息

我正在尝试配置我的 Quartz 调度程序以支持日志记录。我曾尝试执行以下操作:

在我的应用程序的 classes 文件夹中添加了 log4j.xml。相同的代码是:

在我的调度程序类中添加了以下语句:

但是,控制台会在启动时显示以下消息:

请告诉我是否缺少某些东西。

问候, 伊布

0 投票
1 回答
792 浏览

java - 当 Quartz 调度程序关闭时,我需要执行一项任务

我有一个要求,当我的 Quartz 将被关闭时,我必须执行某些与数据库相关的活动。我的意思是当我关闭调度程序时,我必须从数据库中清除某些数据。有什么办法可以做到这一点?

在谷歌搜索时,我遇到了确定调度程序当前状态的方法。但是,有没有办法可以捕获这个调度程序关闭事件。

提前致谢, 伊布

0 投票
4 回答
1293 浏览

quartz-scheduler - Quartz repeat execution 5 times every day

I am using quartz to schedule my jobs, I need to execute a job at 2:00am every day and repeat the execution 5 times every 10 minutes, any ideas? the result should be: 2:00 2:10 2:20 2:30 2:40

Thanks in advance.

0 投票
1 回答
11766 浏览

mysql - 故障排除一致的“SQLException:超过锁定等待超时”

我有一个运行 Quartz 1.6.1 w/persistent job store 的应用程序,使用 MySQL 5.1 作为数据库。该应用程序在 Tomcat6 中可以正常启动。在某些时候,它开始在每次启动时抛出以下异常:

我应该提到这个应用程序还利用 JPA w/Hibernate 使用 C3P0 进行数据源连接池。这个异常总是在 JPA 完成更新我的模式后直接抛出。

首先,我升级到 Quartz 1.6.5,异常消失了,但应用程序似乎被冻结了。日志中的最后一件事 - 曾经是异常的地方 - 是:

之后什么都没有,并且 webapp 不为请求提供服务;他们只是无限期地挂起。

当我在异常发生后立即使用SHOW INNODB STATUS运行mysql命令行客户端时,它确实始终显示两个可疑事务:

我正在寻找有关如何进一步调查此问题的指导。也许如果我能以某种方式识别这两个交易的所有者,或者他们锁定了哪些资源?

更新:我毫无问题地删除了qrtz_simple_triggers表中的所有行。然后我尝试在qrtz_triggers表上做同样的事情,我的 MySQL 客户端抛出了“超过锁定等待超时”错误。此时我停止了我的(仍然挂起的)应用程序,然后能够删除qrtz_triggers表的所有行。完成此操作后,我就能够成功启动我的应用程序。

看来我需要记录一个新的 Quartz 错误,但我希望能够给他们更多关于这里实际发生的事情的信息。那么,根据最初的问题,我该如何解决这些类型的问题?

0 投票
2 回答
1257 浏览

quartz-scheduler - 以“用户”身份运行 Quartz.NET 作业 - 权限问题

场景: 我有一个控制台应用程序需要访问具有读/写权限的网络共享。手动运行时没有问题。

问题: 当我将此应用程序添加为我的quartz.net 服务器中的作业时,它无法访问共享。我无权更改网络共享的权限,所以基本上我需要我的石英作业,或者如果需要我的石英服务器以我(或作为具有适当权限的用户)运行作业。

关于如何做到这一点的任何想法?

谢谢

0 投票
5 回答
8392 浏览

quartz-scheduler - 每分钟安排一次触发器,如果​​作业仍在运行,则待机并等待下一个触发器

我需要安排一个触发器每分钟触发一次,如果作业仍在运行,则下一分钟触发器不应该触发,应该再等一分钟检查,如果作业完成,触发器应该触发谢谢

0 投票
1 回答
8787 浏览

java - 如何扩展 Quartz 调度器?

我计划使用Quartz 调度器,因为我阅读了很多关于它的好意见。

我的问题如下:在任何给定时间,系统中都会有数千个触发器。大多数触发器只会触发一个事件并死亡。此外,很可能我将不得不在分配后取消许多作业(基于新输入)。

Quartz可以扩展到这个吗?推荐哪个 JobStore?我计划在 mysql 上使用 JDBC 之一。

附加信息:我的工作将发送电子邮件或通过 HTTP 发布数据到其他服务(通过 WAN)。

0 投票
1 回答
3011 浏览

java - 将 Quartz 调度器置于待机模式

您可以将 Quartz 调度程序置于待机模式。在此期间,所有触发器都不会触发正在执行的作业。但是如果standby(); 会发生什么?命令在执行过程中出现,假设它正在写入文件?

例子:

*// start() 之前在调度程序上调用过

scheduler.standby();

// 现在调度程序不会触发触发器/执行作业

// ...

调度程序.start();

// 现在调度程序将触发触发器并执行作业*

0 投票
1 回答
3291 浏览

.net - Quartz.NET 服务器文档

下载 Quartz.NET 时,它包含一个带有控制台应用程序的服务器组件。

网站、常见问题解答和 API 文档没有提及任何相关内容。

有人会知道更多关于它的信息,或者知道我在哪里可以找到更多关于它的文档吗?

谢谢,帕特里克