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); }
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; } }