DM配信プログラム設計の考察メモ

  1. ロックファイルを使用して二重起動をチェック
    →ロックされていれば終了
    →ロックされていなければロックする

  2. タスクテーブルのステータスに"配信中"があるか?
    →あれば終了

  3. タスクテーブルのステータスが予約済かつ予約時間が範囲内のタスクがあるか?
    →無ければ終了
    →複数あった場合は最も古い一件のタスクを配信対象とする

  4. タスクテーブルの配信情報(From、件名、本文等)チェック
    →問題があれば終了
     管理者に異常通知メールを送信
     ステータスを異常終了に更新

  5. 配信リストのフォーマットチェック
    →問題があれば終了
     管理者に異常通知メールを送信
     ステータスを異常終了に更新

  6. タスクテーブルのステータスを配信中に更新

  7. 管理者に配信開始メールを送信

  8. 配信リストを読む
    メール文を組み立てる
    配信ログを記録する(No,日時,メアド)
    メールを送信する
    繰り返し

  9. 管理者に配信終了メールを送信

  10. タスクテーブルのステータスを配信済に更新

  11. ロックを解除