如果正在运行其他作业,是否可以将ActiveBatch作业配置为触发并发出警报

时间:2019-01-19 16:29:26

标签: scheduled-tasks batch-processing jobs job-scheduling activebatch

几个星期前,我们云托管部门的经理决定为我们所有生产托管服务器上的ActiveBatch作业打开超限通知。由于没有问题或无法执行的超限通知,导致通话量激增了800%。本周我们开会了,他基本上认为这是必须的方式。上周我在打电话时,我接到了28个电话(许多在深夜和清晨)。只有2个事件是错误。自然,我很沮丧,正在寻找解决方案。

因此,我正在研究ActiveBatch以了解是否有更好的方法,而不是使用超限通知来满足我们的SLA和特定客户需求。由于每月的工作量和时间,我们的许多工作因运行而差异很大。超支是无效的,因为在许多情况下,超支会在运行作业会引起问题的10多个小时后提出。

我试图弄清楚ActiveBatch作业是否可以检测特定服务器上是否正在运行其他ActiveBatch作业。而且,我还需要知道它们是否可以终止在服务器上运行的其他ActiveBatch作业,然后发出警报。下面是一个示例,该示例演示了鉴于客户端对我们一台服务器的要求而正在尝试做的事情。

要求

  1. 上午10点批量付款作业必须在下午2点之前完成批量付款作业为了满足此要求,我想创建一个计划作业,该作业在下午1:30运行,以生成通知以提醒某人该10 AM工作尚未完成。这可能吗?

  2. “当日结束”作业在凌晨12点开始时,服务器上不应运行任何ActiveBatch作业。与上述情况类似,我想将AB配置为在11:30运行任何作业时生成通知下午。可以做到吗?

  3. 与数据仓库的同步开始时,“一天结束”作业必须在上午6点之前完成。再次,当时间接近下午6点SLA时,如果EOD作业仍在运行,则只需发出警报。 / p>

  4. 该系统必须在上午8点之前可用。对于这一点,我认为我们将配置AB以对应用程序进行Web服务调用,以便作业失败并在调用失败时生成通知。我很确定我们可以做到这一点。我们有一个Web服务客户端,可以在部署中通过命令行执行该客户端。

我提议的是一种监视服务器以确保发出警报的条件的简单得多的方法。是否有人在组织中面临类似的挑战并有任何建议?我是Java开发主管,对ActiveBatch没有管理权限。我们的管理员要求我们提交更改超限阈值的理由。但是,我不同意他的方法。我们大多数客户的要求与上述示例相似。因此,在我们的案例中,如果某些作业正在运行,则在特定时间发出通知似乎是一种更清洁,更优雅的方法。在与管理员和管理人员进行案例讨论之前,我正在尝试研究AB功能并了解我提出的建议是否可行。管理员冒充自己不喜欢调整客户生成通知方式的想法。请帮忙。我再也无法在白天和黑夜的所有时间接听三打电话。我们已将ActiveBatch与PagerDuty集成在一起,因此每个通知(包括超限)都会为待命人员生成PagerDuty事件。

0 个答案:

没有答案