我在 Windows 服务器上有一个 .Net exe,我设置了一个 Autosys 作业来启动该应用程序。当我开始工作时,它只是保持在运行状态,但应用程序永远不会运行。该应用程序大约需要 5 分钟才能运行。它下载一些图像,压缩它们,然后将文件移动到另一台服务器。我可以从 cmd 行成功运行该应用程序。我没有收到任何错误消息,并且工作一直说它正在运行。我是 Autosys 的新手,我正在寻找一些关于如何进行故障排除的建议。谢谢。
正确的框架位于应用程序所针对的服务器上。
当 autosys 作业运行时,我会检查 Windows 服务器上的作业日志文件。打开 Autosys 命令提示符并运行 autosyslog -J 以读取日志。检查任何错误消息,特别是运行命令的子进程的 PID。然后检查任务管理器以查看该 PID 是否正在运行。
此外,当作业运行时,执行 autorep -d -J 以获取详细的运行报告并查看是否有任何错误消息?
在 Windows 上对这些问题进行故障排除可能会很痛苦。当您从命令行运行它时,我会怀疑它工作的环境与 Autosys 中的环境不同。您是否以与 Autosys 作业中相同的所有者 ID 运行命令行?如果检查客户端日志没有帮助,接下来我将运行 set 命令记录为作业所有者 ID,将输出保存到文件中,然后创建问题作业的副本,用 set 替换命令并将输出传递到一份文件。然后比较两个文件的差异。
当作业卡在启动或运行状态时,这意味着 Autosys 事件处理器与 Windows 远程代理通信并传递了远程代理运行作业的所有信息。但是,该远程代理无法与数据库通信以告知其运行的作业的状态。
您可能想检查 Windows 远程代理是否与数据库连接。这可以通过使用命令“autoping -m WindowsMachineName -D”来识别</p>
例如,以下概述了该问题:-
<AutosysCommandPrompt>: autoping -m WindowsMachineName -D
AutoPinging Machine [WindowsMachineName] AND checking the Remote Agent's DB Access.
ERROR: AutoPing WAS NOT SUCCESSFUL!
Remote Agent on WindowsMachineName could not connect to DB: xxxxxxxx.WORLD
现在,在这种情况下,调查 tnsnames.ora 文件并确保其中包含数据库名称。这可能是数据库连接失败的原因之一。完成此操作后,您应该从上一个命令中获得以下输出。
<AutosysCommandPrompt>: autoping -m WindowsMachineName -D
AutoPinging Machine [WindowsMachineName] AND checking the Remote Agent's DB Access.
AutoPing WAS SUCCESSFUL!
希望这可以帮助。
最好的检查方法是将作业命令更改为执行“路径”,将用户权限与您在命令行中使用的用户进行比较。
您可以从 Autosys 守护程序日志文件中获取一些更有用的调试信息。它通常位于 Autosys 代理安装路径下的 tmp 文件夹内(例如 C:\Program Files (x86)\CA\UnicenterAutoSysJM.DEV\tmp)。您将需要浏览此文件夹中的所有文件,以找到与您正在寻找的特定工作相对应的文件。
此文件包含 Autosys 代理用于启动程序的实际命令以及 Autosys 设置的其他环境变量。