ruby-on-rails Rails和Google Cloud任务:ArgumentError值600必须是Hash或Google::Protobuf::Duration

isr3a4wc  于 2023-06-07  发布在  Ruby
关注(0)|答案(1)|浏览(193)

我们使用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

我们如何解决这个问题?

tvmytwxo

tvmytwxo1#

解决了!似乎问题出在0.13.0版本的cloudtasker gem上。我们正在使用cloudtsker 0.13.rc2,现在我们的工作人员在Cloud Run上运行良好!

相关问题