0

これを読んでくれてありがとう。

Environment は Windows Server で実行される AutoSys スケジューラであり、ジョブは Perl スクリプトを呼び出します。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 に答える