schedules as $schedule) { if (!$schedule['active']) { continue; } $now = new \DateTime(); $scheduledAt = new \DateTime($schedule['schedule']); if ($scheduledAt > $now) { continue; } \go(function () use ($now, $schedule, $pools, $dbForConsole) { $queue = $pools->get('queue')->pop(); $connection = $queue->getResource(); $queueForMessaging = new Messaging($connection); $queueForMessaging ->setType(MESSAGE_SEND_TYPE_EXTERNAL) ->setMessageId($schedule['resourceId']) ->setProject($schedule['project']) ->trigger(); $dbForConsole->deleteDocument( 'schedules', $schedule['$id'], ); $queue->reclaim(); unset($this->schedules[$schedule['resourceId']]); }); } } }