メインコンテンツまでスキップ

Cron ジョブ

PulseHub は cron ランナー(cron.php)を使用してバックグラウンドタスクを処理します — メールボックスのポーリング、オートメーションの処理、失敗した webhook のリトライ、古いデータのクリーンアップ。


概要

cron.php2つのモードをサポートしています:

モード動作方法最適な用途
Web URLブラウザまたはホスティングパネルから cron.php?token=YOUR_SECRET&job=all を呼び出す共有ホスティング(cPanel、Plesk)
CLIターミナルから php cron.php all を実行VPS / 専用サーバー

利用可能なジョブ:

ジョブ説明
allすべてのジョブを順番に実行
emailアクティブな IMAP メールチャネルをポーリング
automations保留中のオートメーションイベントを処理
webhooks失敗した webhook イベントをリトライ
cleanup古い SSE/オートメーション/webhook イベントを削除

セットアップ — 共有ホスティング(cPanel / Plesk / DirectAdmin)

オプション A: URL ベースの Cron(推奨)

  1. ホスティングパネルにログイン
  2. Cron Jobs に移動
  3. スケジュールを毎分* * * * *)に設定
  4. 以下を貼り付け:
wget -q -O /dev/null "https://yourdomain.com/cron.php?token=YOUR_CRON_SECRET&job=all"

または curl を使用:

curl -s "https://yourdomain.com/cron.php?token=YOUR_CRON_SECRET&job=all" > /dev/null 2>&1

ヒント: PulseHub の設定 → Cron Job URL から完全な URL をコピーしてください。

オプション B: CLI ベースの Cron

php /home/yourusername/public_html/cron.php all

オプション C: 外部 Cron サービス

cron-job.org、EasyCron、または SetCronJob を使用し、cron URL を指定します。1〜5分ごとに実行するよう設定してください。


セットアップ — VPS / 専用サーバー

* * * * * php /var/www/pulsehub/cron.php all >> /var/log/pulsehub_cron.log 2>&1

ジョブ詳細

email — IMAP ポーリング

すべてのアクティブなメールチャネルに IMAP で接続し、未読メッセージを検索して会話としてインポートします。imap 拡張機能がない場合、ジョブはスキップメッセージを記録して正常に終了します。

automations — 保留中のイベント処理

最大 100 件の保留中イベントを選択し、ルールを評価してアクションを実行します。二重処理を防ぐため、評価前にイベントは processing とマークされます。

webhooks — 失敗したイベントのリトライ

失敗した webhook をリトライします(24 時間以内に最大 5 回)。

cleanup — 古いデータの削除

  • 24 時間以上経過した SSE イベント
  • 7 日以上経過した処理済みオートメーションイベント
  • 30 日以上経過した処理済み webhook イベント

セキュリティ

  • Web モードはシークレットトークンが必要です(インストール時に生成、config/app.php に保存)
  • CLI モードはトークン不要
  • トークンの比較はタイミング攻撃を防ぐため hash_equals() を使用