0

We are using Rails 7.0.4.3, with some background workers, using cloudtasker (0.13.0) and redis (7). Locally everything is ok, but on Google Cloud Task, workers do not perform due to the following error message:

ArgumentError: Value 600 must be a Hash or a Google::Protobuf::Duration...

This error happens when we upgrade to Ruby 3.1.1, being working until Ruby 3.0.0.

We just expect the worker execution, but an error is raised on its initialization by Google Cloud Run.

The worker is very simple:

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

How can we solve this?

mkrieger1
  • 19,194
  • 5
  • 54
  • 65

1 Answers1

0

Solved! It seems the trouble was with the 0.13.0 version of cloudtasker gem. We are using cloudtsker 0.13.rc2 and now our workers runs fine on Cloud Run!