/** * Sends request to server * * @return Elastica_Response Response object */ public function send() { $log = new Elastica_Log($this->getClient()); $log->log($this); $transport = $this->getTransport(); $servers = $this->getClient()->getConfig('servers'); /* // Integration of temp file $dir = sys_get_temp_dir(); $name = 'elasticaServers.json'; $file = $dir . DIRECTORY_SEPARATOR . $name; if (!file_exists($file)) { file_put_contents($file, 'hh'); error_log(print_r($this->getClient()->getCluster(), true)); } */ if (empty($servers)) { $params = array('url' => $this->getClient()->getConfig('url'), 'host' => $this->getClient()->getHost(), 'port' => $this->getClient()->getPort(), 'path' => $this->getClient()->getConfig('path')); $response = $transport->exec($params); } else { // Set server id for first request (round robin by default) if (is_null(self::$_serverId)) { self::$_serverId = rand(0, count($servers) - 1); } else { self::$_serverId = (self::$_serverId + 1) % count($servers); } $server = $servers[self::$_serverId]; $response = $transport->exec($server); } return $response; }
/** * Sends request to server * * @return Elastica_Response Response object */ public function send() { $transport = $this->getTransport(); $servers = $this->getClient()->getConfig('servers'); if (empty($servers)) { $response = $transport->exec($this->getClient()->getHost(), $this->getClient()->getPort()); } else { // Set server id for first request (round robin by default) if (is_null(self::$_serverId)) { self::$_serverId = rand(0, count($servers) - 1); } else { self::$_serverId = (self::$_serverId + 1) % count($servers); } $server = $servers[self::$_serverId]; $response = $transport->exec($server['host'], $server['port']); } return $response; }