Объединение пулов соединений Python Cassandra

#python #cassandra #rabbitmq

#python #Кассандра #rabbitmq

Вопрос:

Я ищу возможность использования сеанса Cassandra, совместно используемого несколькими потоками pythons. Что такое мой поток, у меня есть потребитель rabbitmq. Для каждого полученного сообщения потребитель вставляет данные в Cassandra. Есть 3 потребителя, каждому потребителю предоставляется объект кластера Cassandra. Когда потребитель получает сообщение, он использует этот кластерный объект и вставляет его в cassandra. Но когда сообщение session.execute(query) получено, оно застревает.

 ap = PlainTextAuthProvider(username=self.connection_params['username'],
                                       password=self.connection_params['password'])
            cluster = Cluster(contact_points=self.connection_params['contact_points'],
                                   port=self.connection_params['port'], idle_heartbeat_interval=10,
                                   auth_provider=ap, connect_timeout=30, protocol_version=3,
                                   load_balancing_policy=DCAwareRoundRobinPolicy(), monitor_reporting_enabled=True)
session = self.cluster.connect()
            session.set_keyspace(self.connection_params['keyspace'])
            session.row_factory = dict_factory
            session.encoder.mapping[list] = session.encoder.cql_encode_tuple

 

Rabbitmq onMessage Я передаю этот объект сеанса.

Комментарии:

1. посмотрите документацию — в ней объясняется, как использовать драйвер Python из нескольких потоков

2. @AlexOtt я пробовал, но это не работает.