-
redis master file contents now correctly reflects the state of the running configuration server
-
allow accelerating master switch via POST to redis configuration server
-
embedded http server into the redis configuration server (port 8080)
-
fixed a problem with redis shutdown command
-
upgraded to redis 2.2.2
-
upgraded to amqp gem version 0.8 line
-
use hiredis as the redis backend, which overcomes lack of proper time-outs in the “generic” redis-rb gem for Ruby 1.9
-
use fully qualified hostnames to identify redis configuration clients
-
since version 2.0, RabbitMQ supports Basic.reject(:requeue => true). we use it now too, because it enhances performance of message processors. this means of course, you can only use beetle gem versions >= 0.2.9.8 if your rabbitmq brokers are at least version 2.0.
-
publishing timeout defaults to 0 to avoid extreme message loss in some cases
-
use new bunny_ext gem and allow specification of global publishing timeouts
-
registering a message now automatically registers the corresponding exchange
-
don’t try to bind queues for an exchange hich has no queue
-
ruby 1.9.2 compatibility fixes
-
Beetle::Client now raises an exception when it fails to publish a message to at least 1 RabbitMQ server
-
Subscribers are now stopped cleanly to avoid ‘closed abruptly’ messages in the RabbitMQ server log
-
Set dependency on ActiveSupport to 2.3.x since it ain’t compatible to version 3.x yet
-
Publishers catch a wider range (all?) of possible exceptions when publishing messages
-
Redis Configuration Servers detect and warn when unknown Redis Configuration Clients connect
Added missing files to gem and rdoc
Log and send a system notification when pong message from unknown client received.
Patch release which upgrades to redis-rb 2.0.4. This enables us to drop our redis monkey patch which enabled connection timeouts for earlier redis versions. Note that earlier Beetle versions are not compatible with redis 2.0.4.
Improved error message when no rabbitmq broker is available.
This version adds support for automatic redis deduplication store failover (see separate file REDIS_AUTO_FAILOVER.rdoc).
-
it’s possible to register auto deleted queues and exchanges
-
Beetle::Client#configure returns self in order to simplify client setup
-
it’s possible to trace specific messages (see Beetle::Client#trace)
-
default message handler timeout is 10 minutes now
-
system wide configuration values can be specified via a yml formatted configuration file (Beetle::Configuration#config_file)
-
the config value redis_server specifies either a single server or a file path (used by the automatic redis failover logic)
-
handle active_support seconds notation for handler timeouts correctly
-
error handler was erroneously called for expired messages
-
subscribers would block when some non beetle process posts an undecodable message
-
redis needs to be at least version 2.0.3
-
we make use of the SystemTimer gem for ruby 1.8.7
Initial Release