自動集計(CRON運用)
サーバー上のCRONで2本のコマンドを定期実行し、集計を自動化します。初回導入・毎日の自動実行・過去データの再構築に適しています。会員100万件規模の初回構築にも対応しています。
集計の自動運用は、定期実行する2本のコマンドで構成されています。
2本のCRONコマンド
| コマンド | 推奨スケジュール | 役割 |
|---|---|---|
eccube:crm-analytics42:worker | 5分おき | キュー上の未完了ジョブを消化 |
eccube:crm-analytics42:enqueue-daily | 毎日 3:00 | 前日1日分のジョブをキューへ登録 |
管理画面から集計を開始するとキューに登録され、次回の worker 実行で処理が始まります(待ち時間は cron 間隔に依存します)。レンタルサーバーなど毎分 cron が使えない環境を前提に、5分おきを推奨します。
CLI集計は --no-debug を付けて実行してください。APP_DEBUG=1 のまま長時間実行すると、メモリ不足になることがあります。
CRON設定例
*/5 * * * * cd /path/to/ec-cube && bin/console --no-debug eccube:crm-analytics42:worker >> /var/log/crm-analytics42-worker.log 2>&1
0 3 * * * cd /path/to/ec-cube && bin/console --no-debug eccube:crm-analytics42:enqueue-daily >> /var/log/crm-analytics42-enqueue-daily.log 2>&1
/path/to/ec-cube は実際のEC-CUBE設置パスに置き換えてください。ダッシュボードの初期セットアップカードからもコピーできます。
さくらのレンタルサーバーの場合
さくらのレンタルサーバーでは、コントロールパネルから毎分実行を設定できないことがあります。5分おき設定の具体的な入力例は、さくらのレンタルサーバーでのCRON設定 を参照してください。
運用の流れ
- 管理画面またはダッシュボードから期間を指定して集計を開始する(初回一括集計など)
- 5分おき実行のコマンドが、未処理の集計を順番に進める
- 毎日実行のコマンドが、前日分の集計を自動で追加する
- 5分おき実行のコマンドが日次集計を処理し、データを更新する
5分おき実行のコマンドは、未処理の集計があるときだけ動きます。CRONを登録しただけで、全期間集計が自動的に始まることはありません。
集計の内容
- 1. 会員サマリ(終了日基準。会員×商品サマリ含む)
- 2. 日次会員分析(開始日〜終了日を1日ずつ)
- 3. RFMスコア(30 / 90 / 180 / 365日)
コマンド実行中は、管理画面から同じ集計を進めません(進捗の確認のみ)。
ワーカー状態の保存場所
ワーカーの最終成功日時やセットアップ確認状態は app/PluginData/CrmAnalytics42/worker/ に保存されます。アンインストール時に削除されます。
再構築が必要なケース
- 集計対象注文ステータスの変更後
- 休眠会員判定日数の変更後
- 初回集計で全期間を一括構築する場合
- データ不整合や集計失敗の復旧
注意事項
- 必ず
--no-debugを付けて実行してください - データ量が多い場合、完了まで時間がかかります
- 完了後にAI分析が自動実行され、Slack通知は設定した通知時刻以降に送信されます(有効な場合)
- 設定手順は、このページ内の「CRON設定例」を参照