我有一个.Net exe坐在Windows Server上,我有一个Autosys工作设置来启动应用程序。当我开始工作时,它只是处于运行状态,但应用程序永远不会运行。该应用程序大约需要5分钟才能运行。它下载一些图像,压缩它们,然后将文件移动到另一台服务器。我可以从cmd行成功运行应用程序。我没有收到任何错误消息,并且该作业一直在说它正在运行。我是Autosys的新手,我正在寻找一些关于如何排除故障的建议。感谢。
正确的框架位于应用所针对的服务器上。
答案 0 :(得分:1)
当autosys作业运行时,我会检查Windows服务器上的作业日志文件。打开Autosys命令提示符并运行autosyslog -J以读取日志。检查是否有任何错误消息,特别是检查运行该命令的子进程的PID。然后检查任务管理器以查看该PID是否正在运行。
当作业正在运行时,请执行autorep -d -J以获取详细的运行报告并查看是否有任何错误消息?
在Windows上解决这些问题可能会很麻烦。当您从命令行运行环境时,我会怀疑它的工作环境以及它在Autosys中的含义是不同的。您是否像在Autosys作业中一样将命令行作为SAME所有者ID运行?如果检查客户端日志没有帮助,接下来我将运行set命令记录为作业所有者ID将输出保存到文件,然后创建问题作业的副本,用set替换命令并将输出管道输出到一份文件。然后比较两个文件的差异。
答案 1 :(得分:0)
您可以从Autosys守护程序日志文件中获取一些更有用的调试信息。它通常位于安装Autosys代理的路径下的tmp文件夹内(例如C:\ Program Files(x86)\ CA \ UnicenterAutoSysJM.DEV \ tmp)。您需要浏览此文件夹中的所有文件,找到与您要查找的特定作业相对应的文件。
此文件包含Autosys代理程序用于启动程序的实际命令以及Autosys设置的其他环境变量。
答案 2 :(得分:0)
当作业停留在启动或运行状态时,这意味着Autosys事件处理器与Windows远程代理通信并传递远程代理的所有信息以运行作业。但是,该远程代理无法与数据库通信以通知其运行的作业状态。
您可能想要检查Windows远程代理是否与数据库连接。 这可以通过使用命令“autoping -m WindowsMachineName -D”
来识别例如,下面概述了问题: -
<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!
希望这有帮助。
答案 3 :(得分:0)
检查的最佳方法是更改job命令以执行“path”,将用户权限与您在命令行中使用的用户进行比较。