Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }