public function publish(array $events) { $this->eventBus->publish($events); foreach ($events as $event) { $this->recordedEvents[] = $event; } }
/** * Wrapper to send events to bus * * @param $event * @param $key * @param $model * @param $data * @return bool|\Guzzle\Service\Resource\Model */ protected function sendToBus($event, $key, $model, $data) { if (empty($data) || empty($event) || empty($key) || empty($model)) { return false; } $results = []; // $time_start = microtime(true); // $this->out("=> Sending events."); /** * Send in chunks of 10 */ $chunks = array_chunk($data, 10); foreach ($chunks as $data_chunk) { $results[] = $this->bus->sendMultiple($event, $key, $model, $data_chunk); } // $time_end = microtime(true); // $time_taken = number_format($time_end - $time_start, 2); // $this->out("=> ".count($data)." events sent to bus in $time_taken Seconds."); return $results; }