Skip to content

Cloud Foundry - the open platform as a service project

License

Notifications You must be signed in to change notification settings

nota-ja/stager-client

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VCAP Stager Client

Provides client implementations for queuing staging tasks. Currently, the following clients are provided:

EmAware

Intended to be used when dealing with EM directly.

Sample usage:

client = VCAP::Stager::Client::EmAware.new(nats_connection, queue)

# Send the request, wait up to 10 seconds for a result
deferrable = client.stage(request, 10)

# Block will be invoked on any reply that is received (regardless of
# whether or not the Stager succeeded or failed).
deferrable.callback { |r| puts "Received response: #{r}" }

# Block will be invoked when an error occurs while processing the request.
# This includes errors deserializing the response and timeouts waiting for
# a reply.
deferrable.errback { |e| puts "An error occurred: #{e}" }

FiberAware

Intended to be used with EM + Fibers. Emulates a blocking api by yielding the calling fiber until the request completes.

Sample usage:

Fiber.new do
  client = VCAP::Stager::Client::FiberAware.new(nats_connection, queue)

  begin
    # Send the request, wait for up to 10 seconds to reply. The current
    # fiber is resumed once the request has completed.
    result = client.stage(request, 10)
  rescue => e
    # Exceptions that occur while performing the request are raised in
    # the calling fiber.
    puts "An error, #{e}, occurred"
  end
end

File a Bug

Use the Github Issues feature in the appropriate repository to file a bug against Cloud Foundry Open Source and its components,

About

Cloud Foundry - the open platform as a service project

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%