railsでsidekiq-schedulerを動かす
5819 ワード
公式のUsageはrailsで動かす前提じゃなかったので、railsで動かす場合のUsage的な何か。
- 0. ばーじょん
Gemfile.lock
rails (6.0.1)
sidekiq (6.0.7)
sidekiq-scheduler (3.0.1)
- 1. Gemfile書く
Gemfile
gem 'sidekiq-scheduler'
gem 'sinatra', require: false # ダッシュボードいらない場合はいらない
- 2. 初期設定を書く
herokuで動かす場合は環境変数に設定しておくこともできるので、その場合はなくても構わない、多分。
config/initializers/sidekiq.rb
Sidekiq.configure_server do |config|
config.redis = { url: ENV.fetch('REDIS_URL') { 'redis://localhost:6379' } }
end
Sidekiq.configure_client do |config|
config.redis = { url: ENV.fetch('REDIS_URL') { 'redis://localhost:6379' } }
end
- 3. ジョブを作る
app/jobs/
内に作る。ApplicationJob
を継承していれば自動的にsidekiq-scheduler
がジョブとして認識してくれる。ここ参照
app/jobs/hello_world_job.rb
class HelloWorldJob < ApplicationJob
def perform
puts 'test'
end
end
- 4. ジョブを登録する
こっちの拡張子はyml
ですよ。
config/sidekiq.yml
:schedule:
hello_world:
every: '1m'
class: HelloWorldJob
- 5. ダッシュボード見れるようにする
config/routes.rb
require 'sidekiq/web'
require 'sidekiq-scheduler/web'
Rails.application.routes.draw do
mount Sidekiq::Web, at: "/sidekiq"
end
これで http://localhost:3000/sidekiq のURLでsidekiqのダッシュボードが見れるようになる。
- 6. sidekiq動かす
rails s
とは別プロセスで動かす必要がある。
$ bundle exec sidekiq
こんな感じで見れたら成功。
Author And Source
この問題について(railsでsidekiq-schedulerを動かす), 我々は、より多くの情報をここで見つけました https://qiita.com/roark/items/08675e33dcf6cffaa4ff著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .