我有bot(query, key)
函数发布数据,dicts(query, answer)
包装返回结果,query_pipe(query_list)
处理查询请求列表。但当我把它放在multiprocessing.Process
中时,我发现bot(query, key)
没有返回任何内容。这是我的代码。
def bot(query, key):
data = {
'key' : key,
'info' : query,
'userid' : 'wechat-robot',
}
try:
apiUrl = url
page = requests.post(apiUrl, data=data)
if page.json()['code'] == '100000':
answer = page.json()['text']
return dicts(query, answer)
else:
return dicts(query, 'failed')
except Exception as e:
return '500 Error'
def dicts(query, answer):
return {'query': query, 'answer': answer}
def query_pipe(query_list):
keys_pool = []
with open('keys.txt', 'r') as f:
lines = f.readlines()
for line in lines:
keys_pool.append(line.strip('\n'))
idx = 0
print(bot(query_list[0], keys_pool[0]))
p = Process(target=query_pipe, args=(query_data,))
p.start()
p.join()
但是当我运行不使用query_pipe(query_list)
的{{1}}时,multiprocess.Process
会打印正确的输出。我感到很困惑,所以任何人都可以给我一个提示,我将非常感激。