Когда я запускаю мои реки задачу:Sidekiq не принимает аргументы задачи Rake
namespace :foo do
task :bar => :environment do
MyWorker.perform_async(some_id)
end
end
Я получаю эту ошибку:
{"retry"=>3, "queue"=>"default", "class"=>"MyWorker", "args"=>[3], "jid"=>"05737ccbac2c88443e3014c4", "enqueued_at"=>1392842821.15404, "error_message"=>"wrong number of arguments (1 for 0)", "error_class"=>"ArgumentError", "failed_at"=>2014-02-19 20:47:01 UTC, "retry_count"=>0}
Теперь, странная часть является то, что если я просто запустить часть MyWorker.perform_async(some_id)
на мои рельсы консоли, она прекрасно работает
MyWorker.perform, как:
def perform some_id
MyModel.new(some_id).sync
end
Любые идеи?
Это как: Защиту инициализации (поставщик, авторизация = {имя пользователя: ENV [ 'USERNAME'], пароль: ENV [ 'PASSWORD']}) самостоятельно .provider = provider self.authorization = авторизация end –
Как выглядит метод синхронизации? Он работает над любыми ассоциациями MyModel? – TalkativeTree
Он сканирует и сохраняет продукты. Я тестировал его и отлично работал. Я думаю, дело в том, что когда я вызываю 'MyWorker.new.perform (some_id)' он работает, но 'MyWorker.perform_async (some_id)' не будет –