lib/insque.rb in insque-0.6.0 vs lib/insque.rb in insque-0.6.1
- old
+ new
@@ -50,19 +50,20 @@
def self.broadcast message, params = nil, recipient = :any
keys = []
case recipient
when :any
- keys = @redis.mget *@redis.keys('{insque}inbox_pointer_*')
+ pointers = @redis.keys('{insque}inbox_pointer_*')
+ keys = pointers.count > 0 ? @redis.mget(*pointers) : []
when :self
keys = [@inbox]
when :slow
keys = [@slow_inbox]
else
keys = recipient.is_a?(Array) ? recipient : [recipient]
end
- value = { :message => "#{@sender}_#{message}", :params => params, :broadcasted_at => Time.now.utc }
+ value = { message: "#{@sender}_#{message}", params: params, broadcasted_at: Time.now.utc }
log "SENDING: #{value.to_json} TO #{keys.to_json}" if @debug
@redis.multi do |r|
keys.each {|k| r.lpush k, value.to_json}
end
end
@@ -115,11 +116,11 @@
parsed_message = JSON.parse(m)
if parsed_message['restarted_at'] && DateTime.parse(parsed_message['restarted_at']) < 1.hour.ago.utc
errors << parsed_message
delete << m
elsif DateTime.parse(parsed_message['broadcasted_at']) < 1.hour.ago.utc
- restart << parsed_message.merge(:restarted_at => Time.now.utc)
+ restart << parsed_message.merge(restarted_at: Time.now.utc)
delete << m
end
rescue
log "========== JANITOR_BROKEN_MESSAGE: #{m} =========="
end
@@ -129,13 +130,13 @@
delete.each {|m| r.lrem processing, 0, m }
end
if result
errors.each {|m| log "ERROR: #{m.to_json}" }
restart.each {|m| log "RESTART: #{m.to_json}" }
- log "CLEANING SUCCESSFULL"
+ log "CLEANING #{inbox} SUCCESSFULL"
else
- log "CLEANING FAILED"
+ log "CLEANING #{inbox} FAILED"
end
sleep(Random.rand * 300)
end
end
@@ -156,10 +157,10 @@
end
if defined?(ActiveRecord::Base)
class ActiveRecord::Base
def send_later(method, *args)
- Insque.broadcast :send_later, {:class => self.class.name, :id => id, :method => method, :args => args }, :slow
+ Insque.broadcast :send_later, { class: self.class.name, id: id, method: method, args: args }, :slow
end
def self.acts_as_insque_crud(*args)
options = args.extract_options!
excluded = (options[:exclude] || []).map(&:to_s)