我正在研究一个小瓶子应用程序。
这个想法是当用户点击"更新全部"时,实用程序类将所有已定义的服务器提交给更新程序,该更新程序调用每个服务器" get()"方法
route.py:
@servers.route('/update/<id>')
def update(id):
servers = UcxServer.query.filter(id != None)
def update_server(server):
server.create_ucx()
server.update_ucx()
return threading.current_thread().name, server
with Pool(max_workers=5) as executor:
start = timer()
for name, server in executor.map(update_server, servers):
print("%s %s" % (name, server)) # print results
db.session.add(server)
db.session.commit()
print('time:', timer() - start)
flash('All servers have been updated')
return redirect(url_for('servers.index'))
多次使用此按钮时会出现问题,因为它会不断产生新线程。如果我有5台服务器,我第一次使用按钮时会得到5个线程。下次10,依此类推。
执行此线程管理的正确方法是什么,以便在应用程序启动拼写后我不会使用一百万个线程?
由于