INTRO

zack climbs the beanstalk and may even return a golden harp from the sky. zack allows you to do RPC via beanstalkd. It will encode your messages and handle return values.

SYNOPSIS

# Server
class Server
  def answer
    puts 'answer called'
    42
  end
end

require 'zack'
Zack::Server.new(
  'the_answer_to_life_the_universe_and_everything', 
  :simple => Server, 
  :server => 'localhost:11300'
).run

# Client
require 'zack'
answer = Zack::Client.
  new(
    'the_answer_to_life_the_universe_and_everything', 
    :server => 'localhost:11300', 
    :with_answer => [:answer]).
  answer

puts "The answer is #{answer}!"

This will output ‘answer called’ on the server and ‘The answer is 41!’ on the client.

zack is a small library that doesn’t do much more than what has been shown above.

DEPENDENCIES

Depends on beanstalkd server (beanstalkd 1.4.4 or better).

COMPATIBILITY

Should run with most rubies of the 1.8 and 1.9 generations.

STATUS

Useful for production use. Not yet tested in high-volume situations.

© Kaspar Schiess, Patrick Marchi