0
0

[Rails] Delayed_Jobのテーブル構成についてまとめた

Last updated at Posted at 2024-04-27

概要

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学習者の役に立てば幸いです...!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0