我有一个接受两个参数的 Resque Worker
class SendPostWorker
@queue = :send_post_worker
def self.perform(post_id, group_id)
group = Group.find(group_id.to_i)
::BotMessageDispatcher.new(group, post_id).work
end
end
在控制器操作中,我使用 Resque 和 Resque-scheduler 将作业排入队列。
class PostsController < ApplicationController
def create
# Code
Resque.enqueue_in(@post.scheduled_time - Time.now, SendPostWorker, @post.id, params['groups']['group'].to_i)
# Code
end
end
当我在 worker 中硬编码 params['groups']['group'] 参数(只向它传递一个参数)时,worker 最初工作得很好,但现在我尝试让工作更智能(从控制器接收组 id ),它抱怨传递的参数数量
ArgumentError
Error
wrong number of arguments (given 2, expected 1)
/Users/Lois/Desktop/projects/bot/app/workers/send_post_worker.rb:4:in `perform'
提前感谢您的帮助~!