public function pushNotifications() { $notifications = $this->notifications->all(); foreach ($notifications as $notification) { $subscriptionId = $notification['subscription_id']; $subscriber = $this->subscriptions->getById($subscriptionId); if (is_null($subscriber)) { $this->log("Unknown subscriber: {$subscriptionId}"); $this->subscriptions->deleteById($subscriptionId); $this->notifications->deleteById($notification['id']); continue; } $notData = array_merge($notification, $subscriber, array('notificationId' => $notification['id'])); if ($this->push($notData)) { $this->notifications->deleteById($notification['id']); } else { $notification_json = json_encode($notData); $this->log("Pushing notification failed: {$notification_json}"); } } }