Module: BarbequeClient

Defined in:
lib/barbeque_client.rb,
lib/barbeque_client/client.rb,
lib/barbeque_client/runner.rb,
lib/barbeque_client/railtie.rb,
lib/barbeque_client/version.rb,
lib/barbeque_client/executor.rb,
lib/barbeque_client/retryable.rb,
lib/barbeque_client/configuration.rb,
lib/barbeque_client/exponential_retry.rb

Defined Under Namespace

Modules: Retryable Classes: Client, Configuration, Executor, ExponentialRetry, Railtie, Runner

Constant Summary collapse

VERSION =
'0.9.1'

Class Method Summary collapse

Class Method Details

.clientObject



43
44
45
46
47
48
49
50
# File 'lib/barbeque_client.rb', line 43

def client
  @client ||= Client.new(
    application:   config.application,
    default_queue: config.default_queue,
    endpoint:      config.endpoint,
    tracing:       config.tracing,
  )
end

.configObject



19
20
21
# File 'lib/barbeque_client.rb', line 19

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



15
16
17
# File 'lib/barbeque_client.rb', line 15

def configure
  yield config
end

.enqueue(job:, message:, queue: nil) ⇒ Hashie::Mash

Returns resonse - { message_id: String, status: String }.

Parameters:

  • job (String)
    • Job name to enqueue.

  • message (Object)
    • An object which is serializable as JSON.

  • optional (String)

    queue - A queue name to enqueue a job.

Returns:

  • (Hashie::Mash)

    resonse - { message_id: String, status: String }



27
28
29
30
31
32
33
34
# File 'lib/barbeque_client.rb', line 27

def enqueue(job:, message:, queue: nil)
  response = client.create_execution(
    job:     job,
    message: message,
    queue:   queue,
  )
  response.body
end

.status(message_id:) ⇒ String

Returns status - Job execution’s status like “success”, “pending”, “failure”, …

Parameters:

  • message_id (String)
    • Job execution’s message_id to check status

Returns:

  • (String)

    status - Job execution’s status like “success”, “pending”, “failure”, …



38
39
40
41
# File 'lib/barbeque_client.rb', line 38

def status(message_id:)
  response = client.execution(message_id: message_id)
  response.body.status
end