class BarbequeClient::Client
Public Class Methods
new(application:, default_queue:, endpoint:, tracing: {}, headers: nil)
click to toggle source
# File lib/barbeque_client/client.rb, line 6 def initialize(application:, default_queue:, endpoint:, tracing: {}, headers: nil) @application = application @default_queue = default_queue @endpoint = endpoint @tracing = tracing || {} @headers = headers end
Public Instance Methods
create_execution(job:, message:, queue: nil, delay_seconds: nil)
click to toggle source
@param [String] job - Job name to enqueue. @param [Object] message - An object which is serializable as JSON. @param optional [String] queue - A queue name to enqueue a job. @param optional [Integer] delay_seconds - Message timer of SQS. @return [Faraday::Response]
# File lib/barbeque_client/client.rb, line 19 def create_execution(job:, message:, queue: nil, delay_seconds: nil) params = { application: @application, job: job, message: message, queue: queue || @default_queue, delay_seconds: delay_seconds, } result = garage_client.post('/v2/job_executions', params) result.response end
execution(message_id:, fields: nil)
click to toggle source
@param [String] message_id - Job execution's message_id to check status @param optioanl [String] fields - Response fields specification for Garage @return [Faraday::Response]
# File lib/barbeque_client/client.rb, line 45 def execution(message_id:, fields: nil) params = {} if fields params[:fields] = fields end result = garage_client.get("/v1/job_executions/#{message_id}", params) result.response end
retry_execution(message_id:, delay_seconds: 0)
click to toggle source
@param [String] message_id - Job execution's message_id to retry @param [Integer] delay_seconds - Retry delay in seconds. Maximum is 900s. @return [Faraday::Response]
# File lib/barbeque_client/client.rb, line 34 def retry_execution(message_id:, delay_seconds: 0) result = garage_client.post( "/v1/job_executions/#{message_id}/retries", delay_seconds: delay_seconds, ) result.response end
Private Instance Methods
garage_client()
click to toggle source
# File lib/barbeque_client/client.rb, line 56 def garage_client @garage_client ||= GarageClient::Client.new(garage_client_option) end
garage_client_option()
click to toggle source
# File lib/barbeque_client/client.rb, line 60 def garage_client_option option = { endpoint: @endpoint, path_prefix: '/' } option[:tracing] = @tracing if @tracing[:tracer] if @headers option[:headers] = @headers end option end