LightFile NextLightFile Next

通知概要

エラー通知機能の概要

LightFile Batchは、想定外の事態が発生してバッチ処理を継続できないときに、自動的に通知を送信する機能を提供します。

継続的にバッチ処理を運用する上で、運用者が対応すべきエラーをいち早く検知できます。

通知機能の特徴

  • メールとSlackによる通知 - メールまたはSlackで通知を受け取れる
  • 複数通知の同時送信 - メールとSlackの両方に同時送信可能
  • 独立動作 - 一方の送信が失敗しても他方には影響しない

通知されるタイミング

継続不可能なエラー(Fatal Error) が発生した際に通知が送信されます。

継続不可能なエラーとは、バッチ処理全体の継続が困難な障害を指します。

継続不可能なエラーの例:

  • ライセンス検証失敗
  • システムディレクトリの作成失敗
  • ファイルシステムへの接続失敗
  • バックアップ処理の重大な失敗(strictモード)

注意: 個別ファイルの最適化失敗は通知されません。

通知方法

簡易Email通知

弊社のメールサーバーを使用してメール送信します。SMTP設定不要です。

  • 用途 - 簡単にメール通知を設定したい場合
  • 設定 - メールアドレスのみで利用可能
  • 制約 - 月1000件まで
  • 詳細 - 簡易Email通知

SMTP Email通知

ユーザーが指定するSMTPサーバー経由でメール送信します。

  • 用途 - 独自のSMTPサーバーやクラウドメールサービスを使用
  • 設定 - SMTPサーバーの接続情報が必要
  • 詳細 - SMTP Email通知

Slack通知

Slack Webhook経由でメッセージ送信します。

  • 用途 - Slackでリアルタイム通知を受け取る
  • 設定 - Webhook URLのみで利用可能
  • 詳細 - Slack通知

通知設定のテスト

test-notifyサブコマンドで通知設定をテストできます。

コマンドライン:

lightfile-batch test-notify \
  --notify-email-to admin@example.com

YAML設定ファイル:

notify:
  email:
    to: admin@example.com

テストメッセージの特徴

テスト送信では、実際のエラー通知と明確に区別できる形式でメッセージが送信されます。受信者が混乱しないよう、以下の3つの方法でテストであることが明示されます:

  1. 件名に「(テスト送信)」を追加
  2. メッセージ冒頭に「このメッセージはテスト送信です。」と明記
  3. エラー内容の代わりにテストメッセージを表示

テストメッセージの例:

件名:

[server01.example.com] ⚠️ lightfile-batch 重大エラー通知 (テスト送信)

本文:

**このメッセージはテスト送信です。**

バッチ処理中に継続が困難なエラーが発生したため、プログラムの実行を中断しました。

## エラー内容

これはテスト送信です。このメッセージを受信できた場合、通知システムは正しく動作しています。

## 環境情報

* **プロジェクト名:** my-project
* **ホスト名:** server01.example.com
* **ファイルシステム:** local:///path/to/images
* **セッションディレクトリ:** /home/user/.lightfile-next/batch/my-project/sessions/20250127-103000
* **発生時刻:** 2025-01-27 10:30:00 JST

詳細はセッションディレクトリとログをご確認ください。