私は 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)))