/** * @param Elasticsearch\Job $job * @param Notification $notification * @param Client $sapi * @return array */ public static function longProcessingEvents(Elasticsearch\Job $job, Notification $notification, Client $sapi) { $query = array(sprintf("type:%s", Event::TYPE_WARN), sprintf("message:'%s'", sprintf(CronWatchdogCommand::EVENT_MESSAGE_LONG_PROCESSING, $job->getId()))); $params = array('q' => implode(' ', $query), 'component' => KeboolaOrchestratorBundle::SYRUP_COMPONENT_NAME, 'limit' => 1000); return array_filter($sapi->listEvents($params), function ($row) use($notification) { if (empty($row['params'])) { return false; } if (empty($row['params']['notificationEmail'])) { return false; } return $row['params']['notificationEmail'] === $notification->getEmail(); }); }