【发布时间】:2017-06-22 14:51:12
【问题描述】:
我正在为 300 多个客户制作时间序列图表。 单独拉取每个客户端对我们是有益的,因为合并后的数据非常庞大,并且在某些情况下,客户端数据会以稍微不同的方式重新采样或操作。
我的问题是,当请求完成并且函数返回数据时,我循环获取每个客户端数据的函数会打开 3 个新线程,但从不关闭线程(我假设连接保持打开状态)。
获得客户端的结果后,我想关闭该连接。我只是不知道该怎么做,也无法在我的搜索中找到任何东西。
def solr_data_pull(submitterId):
zookeeper= pysolr.ZooKeeper('ndhhadr1dnp11,ndhhadr1dnp12,ndhhadr1dnp13:2181/solr')
solr = pysolr.SolrCloud(zookeeper, collection='tran_timings', timeout=60)
query = ('SubmitterId:'+ str(submitterId) +' AND Tier:'+tier+' AND Mode:'+mode+' '
'AND Timestamp:['+ str(start_period)+' TO '+ str(end_period)+ '] ')
results = solr.search(rows=50000, q=[query], fl=[fl_list])
return(pd.DataFrame(list(results)))
【问题讨论】:
-
有什么理由至少不能在每次
solr_data_pull调用之间保持 ZK 连接处于活动状态以避免每次连接开销?