Пример #1
0
 function __construct($host, $login, $password, $vhost, $exchange = 'celery', $binding = 'celery', $port = 5672, $connector = false, $persistent_messages = false, $result_expire = 0, $ssl_options = array())
 {
     $ssl = !empty($ssl_options);
     foreach (array('host', 'login', 'password', 'vhost', 'exchange', 'binding', 'port', 'connector', 'persistent_messages', 'result_expire', 'ssl_options') as $detail) {
         $this->connection_details[$detail] = ${$detail};
     }
     if ($connector === false) {
         $this->connection_details['connector'] = AbstractAMQPConnector::GetBestInstalledExtensionName($ssl);
     }
     $this->amqp = AbstractAMQPConnector::GetConcrete($this->connection_details['connector']);
     $this->connection = self::InitializeAMQPConnection($this->connection_details);
     $this->amqp->Connect($this->connection);
 }
Пример #2
0
 public function BuildConnection($connection_details, $is_backend = false)
 {
     $connection_details = $this->SetDefaultValues($connection_details);
     $ssl = !empty($connection['ssl_options']);
     if ($connection_details['connector'] === false) {
         $connection_details['connector'] = AbstractAMQPConnector::GetBestInstalledExtensionName($ssl);
     }
     $amqp = AbstractAMQPConnector::GetConcrete($connection_details['connector']);
     $connection = self::InitializeAMQPConnection($connection_details);
     $amqp->Connect($connection);
     if ($is_backend) {
         $this->backend_connection_details = $connection_details;
         $this->backend_connection = $connection;
         $this->backend_amqp = $amqp;
     } else {
         $this->broker_connection_details = $connection_details;
         $this->broker_connection = $connection;
         $this->broker_amqp = $amqp;
     }
 }