ジョブスケジューラー (Scheduler) は、Vtiger CRMの裏側で定期的に実行される自動処理(ジョブ)を管理する機能です。

「ワークフローの自動実行」「定期請求書の作成」「受信メールのスキャン」「リマインダー通知の送信」といった機能は、誰かが画面を操作していなくてもシステムが勝手に行う必要があります。ジョブスケジューラーは、これらのタスクを「15分ごと」「毎日」といったスケジュールに従って正確に実行させるための司令塔です。

0. 機能イメージ図

サーバーの時計(Cron)がトリガーとなり、Vtiger内の各タスクを順番に実行していく様子を図解しました。

graph TD
    SERVER(("🖥️ サーバーOS<br>Cron (時計)"))
    
    subgraph CRM ["ジョブスケジューラー"]
        MANAGER{"⚙️ ジョブ管理"}
        
        JOB1["🔄 ワークフロー<br>(毎15分)"]
        JOB2["📧 メール受信<br>(毎5分)"]
        JOB3["📄 定期請求書<br>(毎日)"]
        JOB4["📊 レポート送信<br>(毎週)"]
    end
    
    RESULT["✅ 処理実行<br>・メール送信<br>・レコード作成<br>・通知"]

    SERVER -- "キック (起動)" --> MANAGER
    
    MANAGER --> JOB1
    MANAGER --> JOB2
    MANAGER --> JOB3
    MANAGER --> JOB4
    
    JOB1 & JOB2 & JOB3 & JOB4 --> RESULT

    style SERVER fill:#333,stroke:#000,color:#fff
    style MANAGER fill:#fff9c4,stroke:#fbc02d,stroke-width:2px
    style RESULT fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px

1. 主な特徴

  • バックグラウンド処理の管理: ユーザーの操作とは無関係に、裏側で動くタスクを一覧管理できます。
  • 実行頻度の設定: 「15分おき」「1時間おき」「毎日」など、ジョブごとの実行間隔を調整できます。
  • 有効化/無効化: 使わない機能(例:定期請求書機能など)のジョブを停止して、サーバー負荷を軽減できます。
  • 動作確認: 「最後にいつ実行されたか(Last Scan Started)」を確認することで、システムが正常に稼働しているかを監視できます。

2. 設定画面へのアクセス

  1. 画面右上の 歯車アイコン(設定) > CRM設定 をクリックします。
  2. オートメーション > ジョブスケジューラー をクリックします。

3. 設定手順

画面には、システムに登録されているジョブの一覧が表示されます。

3.1. 画面の見方

  • ジョブスケジューラー: 処理の名前(例:Workflow, Recurring Invoice)。
  • Frequency(H:M): 設定されている実行頻度。
  • ステータス: 現在の状態(Active=有効、Inactive=無効)。
  • 最終スキャン開始時刻: 最後に実行が開始された日時。
    • ※ここが「数日前」などで止まっている場合、サーバー側のCron設定が動いていない可能性があります。

3.2. 設定の変更

各行の右端にある 編集アイコン(鉛筆) または行をクリックして編集します。

項目名説明
ステータスジョブを動かすなら「有効」、止めるなら「無効」にします。
周期(H:M)実行間隔を設定します。
(例:15分ごと、1時間ごと、毎日XX時など)
※短すぎるとサーバーに負荷がかかるため、通常は推奨値(Recommended)に従います。

3.3. 主なジョブの解説

ジョブ名役割
Workflow設定されたワークフロー(条件に合致した時のメール送信など)を実行します。
※最も重要です。
Recurring Invoice「定期請求書(サブスクリプション)」設定に基づき、自動で請求書を作成します。
Send Reminderカレンダーの予定通知(リマインダーメール)を送信します。
Scheduled Reportsスケジュール設定されたレポートをメール送信します。
Mail Scannerメールコンバータ(Mail Converter)の設定に従い、受信メールをスキャンします。

4. サーバー側の設定について(最重要)

ジョブスケジューラーは、Vtigerの中だけで完結する機能ではありません。

これらを動かすためには、サーバー(Linuxなど)のOS側で**「Cron(クロン)」**という定期実行プログラムが正しく設定されている必要があります。

  • 設定ファイルの場所: 通常は cron/vtigercron.sh (Linuxの場合)
  • 確認方法: ジョブスケジューラー画面の「最終スキャン時刻」が現在時刻に近いか確認してください。もし空欄だったり、数ヶ月前の日付だったりする場合は、システム管理者に「Cronが動いていないようです」と連絡してください。

5. 活用事例(レシピ)

事例1: メール取り込みの即時性向上

  • 課題: お問い合わせメールが届いてから、CRMに反映されるまでタイムラグがある。
  • 設定: 「Mail Scanner」ジョブの頻度を、デフォルトの「15 mins」から「5 mins」に変更する。
  • 効果: 最大でも5分以内にメールが取り込まれ、迅速な対応が可能になります。

事例2: サーバー負荷の軽減

  • 課題: アクセス数が増えてサーバーが重くなっている。
  • 設定:
    • 使っていない「Recurring Invoice(定期請求)」や「Scheduled Import(定期インポート)」を 無効 にする。
    • 緊急性の低い「Scheduled Reports」の頻度を毎時から毎日に下げる。
  • 効果: 不要なバックグラウンド処理が減り、システムのレスポンスが改善します。

事例3: ワークフローが動かない時のトラブルシューティング

  • 状況: 「保存したらメールを送る」設定にしたのにメールが届かない。
  • 確認: ジョブスケジューラー画面を開き、「Workflow」ジョブのステータスが有効か、最終スキャンが直近の日時になっているか確認する。
  • 原因: サーバーのCronが停止していたことが判明。