我们使用Rails 7.0.4.3,一些后台工作人员使用cloudtasker(0.13.0)和redis(7)。本地一切正常,但在Google Cloud Task上,由于以下错误消息,工作进程无法执行:
参数错误:值600必须是Hash或Google::Protobuf::Duration...
这个错误发生在我们升级到Ruby 3.1.1时,一直工作到Ruby 3.0.0。
我们只期望worker执行,但Google Cloud Run在初始化时引发错误。
工人很简单:
class EnrollmentsValidatorWorker
include Cloudtasker::Worker
cloudtasker_options queue: :enrollments, lock: :while_executing, on_conflict: :reject
def perform
EnrollmentsValidationByItDataset.call
rescue StandardError => e
send_message "Error: #{e.message}. #{e.backtrace.join("\n")}"
end
end
我们如何解决这个问题?
1条答案
按热度按时间tvmytwxo1#
解决了!似乎问题出在0.13.0版本的cloudtasker gem上。我们正在使用cloudtsker 0.13.rc2,现在我们的工作人员在Cloud Run上运行良好!