pythonをタスクスケジューラで実行すると、どこかで一時停止するように止まってしまう。 ただ、どこでとまっているか分からないんだ。どうすればいい?

タスクスケジューラでPythonスクリプトが実行されているときに、どこで一時停止しているかを特定するためには、いくつかの手順を試すことが役立ちます。

  1. ログの作成:
    スクリプト内にログを追加して、どの部分で停止しているかを確認します。print() ステートメントやPythonの logging モジュールを使用して詳細なログを出力できます。ログは実行状態を理解するのに役立ちます。

    python
    # スクリプトの適切な場所にログを追加 print("Reached point A")
  2. 例外のキャッチ:
    例外が発生している可能性があるため、適切なエラー処理を実装して、例外をキャッチし、その内容をログに出力します。

    python
    try: # スクリプトの実行コード except Exception as e: print(f"Exception occurred: {e}")
  3. 標準エラー出力と標準出力をリダイレクト:
    タスクスケジューラからの標準エラー出力および標準出力をファイルにリダイレクトすることで、実行中のログを確認できます。

    bash
    python your_script.py > output.log 2>&1
  4. デバッガの利用:
    タスクスケジューラのコンテキストでは難しいかもしれませんが、デバッガを使用してスクリプトを実行して問題を特定することもできます。

    bash
    python -m pdb your_script.py

これらの手順を使用して、どこで一時停止しているかを特定し、問題を解決できるかどうか確認してみてください。

未分類

Posted by ぼっち