我有一个采用一个参数并发布到主机的方法。
def fts(searchstring):
search_string="\""+searchstring+"\""
headers = {'Content-Type': 'application/json',}
data = '{ "explain": true,"fields": ["*"],"highlight": {},"query": { "query": '+search_string+'},"size":0}'
response = requests.post('hostname', headers=headers, data=data, auth=('uname', 'password'))
if response.status_code != 200:
raise Exception("{} - {}".format(response.status_code, response.text))
print(response.json())
我想使用不同的参数同时在多个进程中运行此方法。这可能吗?我尝试使用多处理程序,但无法获得它。谢谢
代码pool.map(fts, searchstring)
将同时运行,但会将searchstring
视为字符列表,并将每个单个字符发送到不同的fts
您需要列出所有字符串
all_results = pool.map(fts, [searchstring1, searchstring2, searchstring3, ...])
BTW:如果您需要发送更多参数,则需要包含元组或子列表的列表。
all_results = pool.map(fts, [(searchstring1, param1), (searchstring2, param2), ...])
并将函数定义为
def fts(args):
searchstring, param = args