私は300人以上のクライアントの時系列チャートで作業しています。 結合されたデータが膨大であり、場合によってはクライアントのデータがわずかに異なる方法で再サンプリングまたは操作されるため、各クライアントを個別にプルすることは有益です。PySolrを接続解除するにはどうしたらいいですか?
私の問題は、各クライアントデータを取得するためにループする関数が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接続を維持することはできませんなぜ任意の理由は? – MatsLindh