def init_connection(self, options, columns):
start_time = time.time()
if "hosts" not in options:
logger.log("The hosts parameter is needed, setting to localhost.", WARNING)
hosts = options.get("hosts", "localhost").split(",")
if "port" not in options:
logger.log("The port parameter is needed, setting to {0}.".format(properties.DEFAULT_CASSANDRA_PORT), WARNING)
self.port = options.get("port", properties.DEFAULT_CASSANDRA_PORT)
self.limit = options.get("limit", None)
self.allow_filtering = options.get("allow_filtering", properties.ALLOW_FILTERING_DEFAULT) == 'True'
self.enable_trace = options.get("trace", properties.ENABLE_TRACE_STATEMENTS_DEFAULT) == 'True'
self.ttl = int(options.get("ttl", properties.DEFAULT_TTL))
timeout = options.get("timeout", None)
username = options.get("username", None)
password = options.get("password", None)
self.cluster = Cluster(hosts)
if(username is not None):
self.cluster.auth_provider = PlainTextAuthProvider(username=username, password=password)
# Cassandra connection init
self.cluster.executor_threads = 4
self.cluster.connect_timeout = int(options.get("connection_timeout", properties.DEFAULT_CONNECTION_TIMEOUT))
self.session = self.cluster.connect()
end_time = time.time()
if ISDEBUG:
logger.log("connected in {0} ms".format(int((end_time - start_time) * 1000)))
if timeout is not None:
self.session.default_timeout = float(timeout)
评论列表
文章目录