0

谢谢您阅读此篇。

Environment 是在 Windows Server 上运行的 AutoSys 调度程序,该作业调用 Perl 脚本,该脚本通过 FTP 抓取一些文件并使用 VB.NET 应用程序处理它们。在客户请求更改后,我们上周推出了新版本的 VB.NET 应用程序。

新版本被推送,但是当脚本以某种方式运行时,旧代码正在执行(我们可以通过日志输出和结果文件来判断)。如果我从桌面运行脚本,它会执行新代码,但从调度程序运行时,它会运行旧代码。

这对我们来说很困难,因为该应用程序的旧版本不再可用。我们用新版本复制了它(再次,当我运行它时它可以工作)。

有什么想法吗?我感谢大家花时间阅读本文并试图帮助我!

4

1 回答 1

0

听起来 Autosys 作业环境与您从桌面运行的环境不同的经典问题。当您从命令提示符作为该服务器上作业的用户 ID 运行时,该命令是否有效?如果是从该命令提示符运行,请运行 set > user_env.txt

将现有的 autosys 作业复制到新作业,并将命令替换为 set > autosys_env.txt。然后运行作业。检查 user_env.txt 和 autosys_env.txt 是否存在任何可能导致该错误的差异。仔细查看 PATH 值。您可能需要从命令提示符和作业中运行 perl -v 和等效的 vb.net。如果安装了 where.exe,这有助于查看文件所在的位置。

于 2013-05-01T16:04:35.750 回答