0

我正在运行一个石英.net 服务集群,所有读取标准 AdoJobStore。我正在寻找的行为在标题中进行了解释,我想在集群中的每台机器上运行有状态的作业。目前我相信一个有状态的工作将在整个集群中一次运行一个。我怀疑quartz.net 在集群功能中支持每台机器的有状态作业,因为我已经看了很长时间而且很努力,但是还有其他方法可以在quartz.net 中复制这种行为吗?

另一种方法是设置每个作业类型的线程数,而不是当前为每台机器指定线程数的情况,这基本上会给我我正在寻找的行为,那就是能够运行特定的作业每台机器一次输入一个。

有什么建议么?

4

1 回答 1

0

如果工作的工作开始时间并不重要,你可以试试这些

您可以根据集群中的机器名称为触发器和作业使用正确的组名称(用于识别),并查看触发器的组名称是否对应于它正在触发的机器名称(附加触发器侦听器并在 VetoJobExecution 中进行相应检查并返回 false如果作业不应在该机器上运行,则返回 true)。

如果同一台机器一次又一次地选择停止的触发器,那么您可以在调度程序上尝试 Standby 和 StartDelayed 以避免这种情况。

这只是一个建议,我还没有验证它。

于 2013-02-07T18:05:59.273 回答