Method: MemcacheCluster#attach

Defined in:
lib/droid/heroku/memcache_cluster.rb

#attach(droid, file = 'memcached.yml') ⇒ Object

Create listeners for standard memcache cluster related topics.



72
73
74
75
76
77
78
# File 'lib/droid/heroku/memcache_cluster.rb', line 72

def attach(droid, file='memcached.yml')
  load_from_file(file)

  droid.listen4('memcache.up', :queue => "memcache.up.#{LocalStats.this_instance_name}.#$$") { |msg| add(msg['address'], msg['port']) }
  droid.listen4('instance.down', :queue => "instance.down.#{LocalStats.this_instance_name}.#$$") { |msg| remove(msg['local_ip']) if msg['slot'] == 'memcache' }
  EM.add_timer(1) { droid.publish('memcache.needed', {}) }
end