コンテンツにスキップ

Cronジョブ

Cronジョブは、Paideia LMSで自動的に実行されるスケジュールされたタスクです。管理cronジョブページは、ジョブ実行履歴への包括的な可視性を提供し、管理者がジョブ実行パターンを追跡し、失敗をデバッグし、システムパフォーマンスを監視できるようにします。

cronジョブ機能により、管理者は以下を実行できます:

  • ジョブ履歴: すべてのcronジョブの実行履歴を表示
  • ステータス監視: 成功または失敗したジョブを確認
  • エラー詳細: 失敗したジョブの詳細なエラーメッセージを表示
  • 実行追跡: ジョブ実行のタイムスタンプとパターンを監視

cronジョブページにアクセスするには:

  1. 管理者としてログイン
  2. 管理 → サーバー → Cronジョブに移動

すべてのcronジョブとその実行履歴の包括的なビューが表示されます。

ジョブ履歴テーブルには、ジョブ実行に関する詳細情報が表示されます:

  • ジョブ名: ジョブの名前(タスクスラッグまたはキューから派生)
  • タスクスラッグ: タスク識別子
  • キュー: キュー名
  • 実行開始: ジョブの実行が開始された時刻
  • 完了: ジョブの実行が完了した時刻
  • 状態: ジョブ実行ステータス(成功または失敗)
  • エラー: 失敗したジョブのエラーメッセージ
  • 緑のバッジ: ジョブが成功
  • 赤のバッジ: ジョブが失敗

失敗したジョブには、詳細なエラー情報が表示されます:

  • フォーマット表示: エラーはCodeHighlightコンポーネントを使用して表示
  • コピー機能: エラーメッセージを簡単にコピーしてさらに分析
  • フォーマットサポート: 文字列とJSONの両方のエラーフォーマットをサポート
  • 読みやすいフォーマット: エラーは読みやすくフォーマットされます

成功したジョブは以下を表示します:

  • 緑のステータスバッジ
  • 実行タイムスタンプ
  • 完了タイムスタンプ
  • エラーメッセージなし

失敗したジョブは以下を表示します:

  • 赤のステータスバッジ
  • 実行タイムスタンプ
  • 完了タイムスタンプ(利用可能な場合)
  • 詳細なエラーメッセージ

ジョブ履歴はデータベースから直接取得されます:

  • ソーステーブル: payload_jobspayload_jobs_log
  • クエリ方法: データベースクエリにDrizzle ORMを使用
  • 左結合: ログエントリが存在しない場合でも、すべてのジョブを含む
  • フォールバックロジック: ログが存在しない場合を処理

PostgreSQLは、失敗したジョブに対してのみpayload_jobs_logにログエントリを作成します。クエリは左結合を使用して、ログエントリが存在しない場合でも、履歴にすべてのジョブが含まれるようにします。

ジョブ履歴は、パフォーマンスの問題を防ぐために制限されています:

  • デフォルト制限: 100エントリ
  • ソート: 最新のジョブが最初
  • 設定可能: 制限は関数で調整可能

ジョブ履歴を使用して:

  • 時間の経過に伴うジョブ実行パターンを追跡
  • 頻繁に失敗するジョブを特定
  • システムパフォーマンスを監視
  • ジョブ実行ステータスを理解

ジョブが失敗した場合:

  1. ジョブ履歴テーブルを確認
  2. 失敗したジョブ(赤のバッジ)を見つける
  3. エラーメッセージを確認
  4. エラーをコピーしてさらに分析
  5. 根本原因を調査

ジョブ実行を監視して:

  • 実行が遅いジョブを特定
  • ジョブ実行頻度を追跡
  • システム負荷を監視
  • ジョブスケジューリングを最適化
  • ジョブ履歴を定期的に確認
  • 失敗したジョブを監視
  • エラーメッセージを確認
  • 実行パターンを追跡
  • 分析のためにエラーメッセージをコピー
  • エラー詳細を注意深く確認
  • 追加のコンテキストについてシステムログを確認
  • 根本原因を調査
  • ジョブ実行時間を監視
  • 実行が遅いジョブを特定
  • ジョブスケジューリングを最適化
  • 必要に応じてジョブ頻度を調整

ジョブが履歴に表示されない場合:

  1. ジョブが実際に実行されていることを確認
  2. データベース接続を確認
  3. エラーのシステムログを確認
  4. ジョブ設定を確認

ログエントリが欠落している場合:

  • これはPostgreSQLで成功したジョブでは正常です
  • システムはフォールバックロジックを使用してジョブ情報を表示
  • 必要に応じてpayload_jobsテーブルを直接確認

エラーメッセージが表示されない

Section titled “エラーメッセージが表示されない”

エラーメッセージが表示されない場合:

  1. ジョブが実際に失敗したことを確認
  2. エラーフォーマット(文字列またはJSON)を確認
  3. ブラウザコンソールでエラーを確認
  4. CodeHighlightコンポーネントが動作していることを確認
Ask DeepWiki
貢献する コミュニティ スポンサー