0
私はPythonスクリプトを持っています。 Windowsスケジューラで毎月実行するようにスケジュールしました。しかし、時にはエラーが発生しやすく、エラーが発生したかどうかを知りたいと思っています。ただし、ウィンドウスケジューラは常に成功としてステータスを表示します。私の.pyスクリプトでエラーが発生した場合、Windowsスケジューラにエラーを表示させるか、通知する方法を教えてください。Pythonスクリプトがエラーをスローするとタスクスケジューラにエラーが発生する
'ShellExecuteEx'はプロセスハンドルを返して終了コードを取得できますが、実際には' CreateProcessAsUser'と組み合わされた 'LogonUserExExW'や' LsaLogonUser'(S4U)が呼び出されるので問題はありません。 – eryksun
OPは言っていませんが、この問題は古いバージョンのタスクスケジューラの問題だと思います。 Windows 10では、プロセスハンドルを保持し、プロセス終了コードを表示します。 IIRC、Windows 7では、タスクが正常に開始されたかどうかのみを報告します。 – eryksun
@eryksun私はWindows 10を使用していますが、プロセスの終了コードは表示されません。私はプリントを含む単純なpythonスクリプトでそれを試しました。 NameErrorがスローされますが、スケジューラーで実行すると、タスクが正常に実行されたことがわかります。タスクスケジューラは、スクリプトが正常に実行されたかどうかをチェックすることとは何の関係もないことを理解しています。それは、それが走ったかどうかだけで悩む。しかし、スケジューラーに、少なくとも私にそれを教えるためのPythonコードを教えさせる方法がなければなりません。 – glitterati