lib/resque_aps.rb in resque-aps-0.9.3 vs lib/resque_aps.rb in resque-aps-0.9.4
- old
+ new
@@ -5,10 +5,11 @@
require 'resque_aps/helper'
require 'resque_aps/version'
require 'resque_aps/server'
require 'resque_aps/application'
require 'resque_aps/notification'
+require 'resque_aps/unknown_attribute_error'
module ResqueAps
def logger=(logger)
@logger = logger
@@ -70,30 +71,30 @@
@aps_queue_size_upper ||= 500
end
def enqueue_aps(application_name, notification)
count = aps_notification_count_for_application(application_name)
- push(aps_application_queue_key(application_name), notification.to_hash)
+ redis.rpush(aps_application_queue_key(application_name), encode(notification.to_hash))
enqueue(ResqueAps::Application, application_name) if count <= aps_queue_size_lower || count >= aps_queue_size_upper
true
end
def dequeue_aps(application_name)
- h = pop(aps_application_queue_key(application_name))
+ h = decode(redis.lpop(aps_application_queue_key(application_name)))
return ResqueAps::Notification.new(h) if h
nil
end
# Returns the number of queued notifications for a given application
def aps_notification_count_for_application(application_name)
- size(aps_application_queue_key(application_name))
+ redis.llen(aps_application_queue_key(application_name)).to_i
end
# Returns an array of queued notifications for the given application
def aps_notifications_for_application(application_name, start = 0, count = 1)
- r = peek(aps_application_queue_key(application_name), start, count)
+ r = redis.lrange(aps_application_queue_key(application_name), start, count)
if r
- r.map { |h| ResqueAps::Notification.new(h) }
+ r.map { |h| ResqueAps::Notification.new(decode(h)) }
else
[]
end
end