У меня есть API, написанный в flask, который сканирует данные с сайта, используя селен. при выполнении одного запроса он работает нормально. но, когда я делаю несколько запросов от моего локального, то дает ошибку соединения отказано для некоторых запросов.
app.py
app = Flask(__name__)
if __name__ == '__main__':
app.run(host="0.0.0.0", port=5001, debug=False)
, когда я делаю запрос через flask сервер, он управляет 4 процессами многопроцессорности и соответственно дает ответ. когда я делаю только один запрос, он работает нормально и дает ответ от всех 4 процессов многопроцессорности. но когда я делаю несколько запросов одновременно, это выдает ошибку connection refused
для некоторых случайных процессов. и я не получаю ответ от всех 4 процессов.
def multiprocess_method():
manager = multiprocessing.Manager()
# result return dict of al process
return_dict = manager.dict()
log_obj_dict = manager.dict()
# start first process of combination false, false
p1 = Process(target=crawl,args=(return_dict,log_obj_dict))
p1.start()
time.sleep(0.1)
# start second process of combination false, true
p2 = Process(target=crawl,args=(return_dict,log_obj_dict))
p2.start()
time.sleep(0.1)
# start third process of combination true, true
p3 = Process(target=crawl,args=(return_dict,log_obj_dict))
p3.start()
time.sleep(0.1)
# start fourth process of combination true, false
p4 = Process(target=crawl,args=(return_dict,log_obj_dict))
p4.start()
time.sleep(0.1)
process_list = [p1,p2,p3,p4]
while True:
time.sleep(0.01)
if not any(process.is_alive() for process in process_list):
for process in process_list:
process.join()
return return_dict, log_obj_dict
здесь, crawl
метод, который является целью многопроцессорности, которая выполняет некоторые действия. моя проблема в том, что когда я делаю несколько запросов одновременно, это выдает ошибку типа connection refused
, в противном случае только для одного запроса за раз это работает хорошо.