/python-batch-template

👌 Python batch/scripts template project.

Primary LanguagePython

Python バッチファイル用テンプレートプロジェクト

私がPythonでバッチを書くときに使うためのプロジェクトテンプレート。

概説

基底バッチクラスロガー設定バッチ共通前後処理例外処理を実装するため実際のバッチ処理を行う個々のサブクラスではそれらを実装する必要がなくなります。

バッチ共通前後処理はデフォルトで以下の処理を実装しています。

  • バッチ実行開始・終了ログ出力
  • バッチ処理時間計測

例外処理ではデフォルトで以下の処理を実装しています。

  • 例外ログ出力
  • slack通知

なおサブクラスのバッチ処理内で独自に例外を処理することももちろん可能です。キャッチした例外を再スローしないかぎり基底クラスの例外処理は実行されません。

前提

このプロジェクトではパッケージ管理にpipenvを使用しています。

※ただしpipenvは必須ではなく、標準のpipでも特に問題はありません。その場合は以下のパッケージをpipでインストールします。

  • requests
  • python-dotenv

セットアップ & 実行

.env ファイル作成

SLACK_WEBHOOK=<your slack webhook url>
# install package from pipfile.lock
pipenv sync --dev

# activate
pipenv shell

# execute batch
python sample_batch.py

👀 Author

👤 K