2016-01-13 46 views
-1

有50个依次运行的Autosys作业。Autosys - 按顺序重新运行失败的作业

现在,如果序列中的作业失败。然后我正在寻找一种手动启动失败作业的方式。

可以通过调用sendevent命令轻松完成。但是,在生产环境中,我们必须为此提高WR。

那么,如何在没有sendevent命令的情况下手动重启失败的作业呢?

可能的解决方案是使每个作业都依赖于文件观察器作业。但是,这样,我们必须为每个作业创建File Watcher。有没有更好的方法。

+0

这个问题是关于服务器管理软件。除非您使用autosys SDK编写软件,否则应该在[sf]上提问您的问题。 – miken32

回答

0

您可以手动启动作业的唯一方法是sendevent。但是如果你想跳过那个,那么你可以做一件事。但为此,您需要访问这两者中的任何一个。

  • 更新数据库表中的数据。
  • 在unix中创建一个文件。

如果你有这一点,那么你可以创建一个作业,那里每510分钟。这项工作将启动一个shell脚本,如startJobs.sh

在shell脚本中,您读取一个文件,如jobsToStart.txt,其中包含要启动的作业列表。然后,您在该脚本中使用sendevent以及文件中的作业名称。

现在,一旦将此脚本部署到生产环境中,您只需在文件jobsToStart.txt中输入作业名称,脚本将在其运行时启动作业。

另一种方法是类似的,但不是将数据放入文件中,而是将数据放入数据库表中。 shell脚本将读取该表以查找作业名称。

就我个人而言,我建议将n_retrys=1自动重新启动作业,如果再次失败,请让支持团队执行此操作。有一个访问限制的原因,如果你觉得你需要自己做,那么你必须提交你的案例业务给你访问。

+0

由于受限制的权限,我们不能在脚本中使用sendevent。我同意你让支持团队去做。而且,我们在我们的项目中同意这种方法。 –