October CMSでバッチの作成とスケジュール登録

Laravel製のCMSである、October CMSでバッチの作成とスケジュール登録まで実装しました。

環境

  • Laravel:5.5
  • October CMS:1.0

やったこと

今後管理がしやすいように、複数のバッチ処理を一つのプラグインとしてまとめてみました。

フォルダ構造

今回は複数のバッチを一つのプラグインとして管理する形にしたので、以下のような構造でプラグインを用意しました。

バッチファイルの作成

バッチファイルの中身は以下。説明のために、簡単な「Hello world!」を出力するだけのバッチにしました。
今回は引数は特に使いませんでしたので、設定しませんでした。

Plugin.php

Plugin.phpは以下のようにしました。
Batch_1.php は毎日(午前0時)、Batch_2.php は1時間ごと、Batch_3.phpは毎日13時に発火するように設定しました。

発火頻度は自由に設定が可能ですが、種類が多いのでここでの紹介は割愛します。

サーバーでcrontabの設定

最後に以下をcrontabで設定したらバッチスケジュールの設定は完了です。

まとめ

以上がOctober CMSでバッチの作成と登録までの流れでした。

今回は複数のバッチの管理がしやすいようにするため、各バッチごとにコマンドを作り、一つのバッチ専用プラグインとして実装しました。

ただ、実行したいバッチ処理が1つしかないのであれば、独立したバッチ専用プラグインを作ったり、バッチごとにコマンドを作成したりしなくても、既存プラグインにあるPlugin.phpのregisterScheduleに処理を直接書いてしまっても問題はないかと思います。

 

システム開発のご相談はこちらからお気軽にお問合せください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です