実例をあげます。 試しにデッド状態のジョブをひとつ見てみましょう。
created_at
、enqueued_at
、failed_at
等がが日時じゃなくてFloat
型になっていますね :thinking:
日時を見せてくれ!日時を!
さっそく解決策です。
Time.at
でTime
オブジェクトに変換すると日時を見ることができます。
Time.at
だと協定世界時(UTC)になります。
Time.zone.at
で変換すると日本標準時(JST)になるので、多くのケースではこちらでよいかなと思います。
では、この数字の正体はいったい何でしょうか? 調べたところどうやら、1970年1月1日午前0時からの経過秒数のようです。
Time オブジェクトは時刻を起算時からの経過秒数で保持しています。起算時は協定世界時(UTC、もしくはその旧称から GMT とも表記されます) の 1970年1月1日午前0時です。
https://docs.ruby-lang.org/ja/latest/class/Time.html#S_AT
こういうのをエポック秒(UNIX秒)というそうです。
https://wa3.i-3-i.info/word18476.html
デッド状態のジョブをfailed_at
の昇順で並びかえた上で、failed_at
の一覧を表示します
failed_at
をenqueued_at
など任意なものに変える