概要
DelayedJob
のテーブル構成(列構成)についてまとめました。
DelayedJobとは...?
RailsでJOBを非同期処理するためのgem
です。
DelayedJob
はデータベースをキューとして利用します。
つまり、実行するジョブの情報をデータベースに保存し、その情報を基に非同期でJOBを処理する方式ということです。
DBのカラム構成
上記を踏まえてテーブル構成を見ていきましょう
カラム名 | 役割 |
---|---|
id |
レコードの一意の識別子。 自動的にインクリメントされる。 |
priority |
ジョブの優先度を示す。 数値が低いほど優先度が高い。 |
queue |
ジョブが割り当てられたキューの名前。 キューに対応するワーカーがジョブを処理する |
attempts |
ジョブが実行された回数。 失敗する度にインクリメントされる。 |
handler |
ジョブのオブジェクトをYAML形式でシリアライズしたもの。 ジョブに渡されたオブジェクト情報などが含まれる |
last_error |
ジョブが失敗した際のエラーメッセージが格納される。 デバッグに活用する。 |
run_at |
ジョブが実行される予定の日時。 この時間が現在時刻を超えると、ジョブは実行される。 |
locked_at |
ジョブがロックされた日時。 ジョブが処理中であることを示す。 |
locked_by |
ジョブをロックしているワーカー。 どのワーカーがジョブを実行したか確認できる。 |
failed_at |
ジョブが最終的に失敗した日時。 再試行の限界に達した場合、値が格納される。 |
以上です。
Rails学習者の役に立てば幸いです...!