個人開発WebアプリのHippoMarksでのキャプチャ画像を取得する処理を非同期で処理すべく、Delayed Jobを使ってみる。
Gemfile
gem 'daemons'
gem 'delayed_job_active_record'
bash
# gem install
bundle install
# make necesarry files
rails g delayed_job:active_record
# make tables
rails db:migrate
config/application.rb
module Bookmarks
class Application < Rails::Application
config.active_job.queue_adapter = :delayed_job
︙
end
end
$ rails g job Capture
Running via Spring preloader in process 2177
invoke rspec
create spec/jobs/capture_job_spec.rb
create app/jobs/capture_job.rb
app/job/capture_job.rb
class CaptureJob < ApplicationJob
queue_as :default
def perform(*args)
# Do something later
end
end
ここでは書いてないですが、/config/initializers/delayed_job.rb
を作成して設定を変更することが可能。
詳しくはこのへん参考に。
bash
# ruby bin/delayed_job start
最後までお読みいただき、ありがとうございました。
ご意見などありましたら@hippohackへDMをお願いいたします。