Class: ActiveJob::GoogleCloudTasks::HTTP::Rack

Inherits:
Object
  • Object
show all
Defined in:
lib/active_job/google_cloud_tasks/http/rack.rb

Defined Under Namespace

Classes: PayloadError

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/active_job/google_cloud_tasks/http/rack.rb', line 10

def call(env)
  request = ::Rack::Request.new(env)
  payload = extract_payload(request)

  ActiveJob::Base.execute payload

  [200, {}, ['ok']]
rescue PayloadError => e
  [400, {}, [e.cause.message]]
rescue => e
  [500, {}, [e.message]]
end