Nimbul is a Cloud Manager developed by The New York Times's Infrastructure and Automation Group
Ruby JavaScript Shell
Pull request Compare This branch is 739 commits ahead, 5 commits behind vadimj:master.
Latest commit 695cad7 Mar 25, 2013 Chris DiMartino Pull activemessaging from our repo
Permalink
Failed to load latest commit information.
.bundle
app Fixing relationship dependency action Mar 25, 2013
bin
config Fixing issues running the poller Jan 17, 2013
db
doc
features/support Adding cucumber features dir Sep 29, 2011
lib
log
protocol adding aman's amqp code Mar 21, 2009
public Merge remote-tracking branch 'github/hotfix/daemons_local_fixes' into… Jan 5, 2012
script
spec cleaning up bad unit tests and specs so we can get some real code cov… Sep 16, 2010
stories rename console2 to nimbul Jul 13, 2010
test Merge branch 'release/2.5.0' May 7, 2012
vendor
.gitignore Added some files to gitignore Jul 19, 2012
.rvmrc Updating Gemfile to include god. Updating rvmrc to use local gems Oct 22, 2012
AUTHORS fix a bug where security_groups are cleared if ssh access is granted/… Sep 9, 2010
COPYING added README, AUTHORS, INSTALL, etc Jul 19, 2010
CREDITS
Gemfile Pull activemessaging from our repo Mar 25, 2013
Gemfile.lock
INSTALL updated INSTALL and README, added bundle exec command, added .gitigno… Oct 30, 2011
LICENSE added README, AUTHORS, INSTALL, etc Jul 19, 2010
README
README.markdown
README.restful_authentication
Rakefile Moving to using resque for background job processing Apr 3, 2012
TODO
VERSION Added VERSION file Apr 30, 2012
VERSION.yml
carrot.gemspec
emissary-update.erb commiting local changes on daemons machine (older HEAD) Jan 5, 2012
gediturl
restart
start removed readlink to avoid issues with traversing the symlinks Jul 14, 2010
stop
tags Finished getting TransientKeyStore class working Jan 18, 2012

README.markdown

Carrot

A synchronous amqp client. Based on Aman's amqp client:

http://github.com/tmm1/amqp/tree/master

Motivation

This client does not use eventmachine so no background thread necessary. As a result, it is much easier to use from script/console and Passenger. It also solves the problem of buffering messages and ack responses. For more details see this thread.

There is currently no way to prevent buffering using eventmachine. Support for prefetch is still unreliable.

Example

require 'carrot'

q = Carrot.queue('name')
10.times do |num|
  q.publish(num.to_s)
end

puts "Queued #{q.message_count} messages"
puts

while msg = q.pop(:ack => true)
  puts "Popping: #{msg}"
  q.ack
end
Carrot.stop

LICENSE

Copyright (c) 2009 Amos Elliston, Geni.com; Published under The MIT License, see License