yikegaya’s blog

仕事関連(Webエンジニア)と資産運用について書いてます

wheneverからsidekiq実行

Railsアプリでwhenever(cron使って良い感じにバッチのスケジューリングをしてくれるgem)からsidekiq(redisを使った非同期処理を提供してくれるgem)のワーカー実行したかったんだけど単純に{ワーカークラス}.perform_syncをschedule.rbからなぜか実行できなかったんでsidekiq-cliから実行してみた。その時のメモ

app/workers/sample.rb

class SampleWorker
  include Sidekiq::Worker

  def perform
    console.log("!!!!!test!!!!")
  end
end

config/schedule.rb

every 1.minutes do
  command "cd /app/rails/; /usr/local/bundle/bin/sidekiq-client push PatientImageWorker"
end

なぜかプロジェクトのルートにcdしてさらにsidekiq-clientをフルパスで指定しないと動かない(どっちか片方抜けると動かず)