diff --git a/lib/apn_on_rails/app/models/apn/app.rb b/lib/apn_on_rails/app/models/apn/app.rb index 8a5fb779..7f11031b 100644 --- a/lib/apn_on_rails/app/models/apn/app.rb +++ b/lib/apn_on_rails/app/models/apn/app.rb @@ -49,6 +49,12 @@ def self.send_notifications_for_cert(the_cert, app_id) APN::Device.find_each(:conditions => conditions) do |dev| dev.unsent_notifications.each do |noty| conn.write(noty.message_for_sending) + + # This seems to fix the bug where multiple notifications get + # missed by Apple when sending Push notifications as a worker + # task through Delayed::Job + sleep 0.00000001 + noty.sent_at = Time.now noty.save end