0
votes

Solution EDIT :

The worker button on Heroku was not turned from Off to On...


I'm trying to use Sidekiq on my RailsApp. The configuration works fine in development but in Product with Heroku, all Jobs are enqued but stuck in queue.

Some insight :

I've done the config of Redis_to_go on Heroku.

Sidekiq dashboard enter image description here

Heroku Job logs

2018-11-09T17:28:15.648569+00:00 app[web.1]: I, [2018-11-09T17:28:15.648360 #4]  INFO -- : [66d0e53c-5fd1-42a9-bb28-4df4a40b6f09] 

[ActiveJob] Enqueued CreateMemberContactJob (Job ID: 12785f83-5b69-4bc4-ad87-3945694e8337) 

to Sidekiq(default) with arguments: #<GlobalID:0x000055ec32248780 @uri=#<URI::GID gid://youguildapp/Member/85>>

All my configuration & code : Procfile

web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq

Application.rb

config.active_job.queue_adapter = :sidekiq

Registrationscontroller.rb

CreateMemberContactJob.perform_later @member

class CreateMemberContactJob < ApplicationJob queue_as :default

CreateMemberContactJob

class CreateMemberContactJob < ApplicationJob
  queue_as :default

  def perform(member)
    api_instance = SibApiV3Sdk::ContactsApi.new
    create_contact = SibApiV3Sdk::CreateContact.new
    create_contact.email = member.email

    api_instance.create_contact(create_contact)
  end

end

Please help me, I've passed by all SO posts & Sidekiq wifi & Medium posts & holy books but I didn't figured out.

Many thanks

1
Stupid assumption, but check if your sidekiq worker is turned on on Heroku, it is off by defaultVasilisa
That is likely the answer: you haven't actually started a Sidekiq worker dyno.Mike Perham
@Vasilisa & Mike, you found the solution : it was the button... Many thanks! Cheersuser10089436

1 Answers

1
votes

This is how you turn the heroku worker dyno button on:

How one turns on the heroku dyno?