DelayedJob
参考:
collectiveidea/delayed_job: Database based asynchronous priority queue system – GitHub
Backends · collectiveidea/delayed_job Wiki – GitHub
Documentation for delayed_job | RubyDoc.info
Module: Delayed::Backend::Base — Documentation for delayed_job | RubyDoc.info
使い方
参考:
非同期処理編 (delayed_job) | TechRacho
delayed_job の機能についてもうちょっと – Qiita
delayed_job ちょっとだけ詳しく | KOSHIGOE 学習帳
delayed_job まとめ | scramble cadenza
Rails で AcitiveJob と DelayedJob を使ってバックグランド処理を行う | Rails Webook
Delayed Job Best Practices | SitePoint
ワーカーを起動する
rails
コマンドで起動する。(フォアグラウンド)
$ rails jobs:work
デーモンとして開始する。(バックグラウンド)
$ bundle exec delayed_job start
もしくは、Bundler で bundle_bin
を指定している場合、
$ bundle_bin/delayed_job start
デーモンを停止する。
$ bundle exec delayed_job stop
もしくは、Bundler で bundle_bin
を指定している場合、
$ bundle_bin/delayed_job stop
参考:
状態を取得する方法
参考:
DelayedJob でジョブの状態を取得する – Qiita
フックの使い方
参考:
collectiveidea/delayed_job で定義できるフックメソッド。| Sooey
logger
参考:
Delayed Job の log ファイルを分ける | baronyan’s blog
Logging in delayed_job? – Stack Overflow
失敗したジョブを削除しない
destroy_failed_jobs
を false
に設定する。
Delayed::Worker.destroy_failed_jobs = false
参考:
delayed_job_active_record
Gemfile
に gem を追加して、bundle install
を実行する。
gem "delayed_job_active_record"
config/application.rb
に設定を追加する。もしくは、initializers/active_job.rb
あるいは initializers/delayed_job.rb
を作成して設定を追加する。
config.active_job.queue_adapter = :delayed_job
ActiveJob::Base
を継承してジョブを実行するクラスを作成する。
# app/jobs/my_job.rb class MyJob < ActiveJob::Base def perform(*args) # do something here end end
参考:
Documentation for delayed_job_active_record | RubyDoc.info
rails/activejob at master · rails/rails – GitHub
ActiveJob から Delayed::Job を取得する方法
job = MyJob.perform_later delayed_job_id = job.provider_job_id delayed_job = Delayed::Job.find(delayed_job_id)
参考:
Rails 4.2 get delayed job id from active job – Stack Overflow
rails/delayed_job_adapter.rb at v5.2.0 · rails/rails – GitHub
Progress Job
参考:
d4be4st/progress_job: Progress for Delayed job – GitHub
Progress bar in Rails | Infinum
enqueue
参考:
delayed_job/base.rb at v4.1.5 · collectiveidea/delayed_job – GitHub
attr_accessor
参考:
Psych / coder
参考:
死活管理
参考: