I'm trying to run an Sidekiq example in Crystal, but I've got an error in Sidekiq log:
2016-11-03T13:18:22.430Z 19329 TID-uvtuk WARN: {"queue"=>"default", "jid"=>"84853f6ac0bf8d434ec0beee", "class"=>"Sample::MyWorker", "args"=>["world", 3], "created_at"=>1478179102.4277496, "enqueued_at"=>1478179102.4281816, "retry"=>true}
2016-11-03T13:18:22.430Z 19329 TID-uvtuk WARN: NameError: uninitialized constant Sample
ok_photos>src>ok_photos>workers.cr
require "sidekiq"
module Sample
class MyWorker
include Sidekiq::Worker
def perform(name : String, count : Int64)
count.times do
logger.info "hello, #{name}!"
end
end
end
end
ok_photos>src>ok_photos.cr
require "./ok_photos/*"
require "sidekiq"
Sidekiq::Client.default_context = Sidekiq::Client::Context.new
Sample::MyWorker.async.perform("world", 3_i64)
What I'm doing wrong?
You are showing the client code but not the server code. The server isn't requiring your Sample namespace so it doesn't know how to execute the job.