0
votes

I'm using Sidekiq with Rails and Heroku to execute asynchronous workers but I am not able to get it working. I've tried launching those workers manually (executing the perform method) and they work, however when you schedule them and check the Sidekiq webpage they appear as enqueued and it doesn't process them.

I'm using an Heroku Worker and Redis To Go and this is the config:

sidekiq.rb

require 'sidekiq'

Sidekiq.configure_client do |config|
  config.redis = { :size => 1 }
end

Sidekiq.configure_server do |config|
  config.redis = { :size => 2 }
end

sidekiq.yml

:concurrency: 2

Worker launch

Sidekiq::Client.enqueue(MyWorker)

Sidekiq and Redis seems to be properly connected because I get the following log on Heroku:

015-04-27T21:46:51Z 3 TID-ovbydc96k INFO: Sidekiq client with redis options {:size=>1, :url=>"redis://redistogo:[email protected]:xxxx/"}

I'm missing something but I don't know what. Any help would be appreciated. Thanks!

1
Have you specified queue while starting sidekiq?Sanjiv
I've specified the queues in the .yml file. Should I do it on a different way? @SanjivPedro Piñera Buendia

1 Answers

0
votes

Have you run this command so that Sidekiq knows to use the Redis-To-Go URL?

heroku config:set REDIS_PROVIDER=REDISTOGO_URL