我在我的应用程序中使用了 txloadbalancer twisted API,它运行良好。我有一个问题,我想不出一种将主机添加到正在运行的实例的方法。
我现在使用这个功能:
#pm is a ProxyManager
def addServiceToPM(pm, service):
if isinstance(service, model.HostMapper):
[service] = model.convertMapperToModel([service])
for groupName, group in pm.getGroups(service.name):
proxiedHost = service.getGroup(groupName).getHosts()[0][1]
pm.getGroup(service.name, groupName).addHost(proxiedHost)
tracker = HostTracking(group)
scheduler = schedulers.schedulerFactory(group.lbType, tracker)
pm.addTracker(service.name, groupName, tracker)
并使用新主机运行它
addServiceToPM(pm, HostMapper(proxy='127.0.0.1:8080', lbType=roundr,
host='host2', address='127.0.0.1:10002'))
这会将主机正确添加到跟踪器,但不会添加到代理服务,因此不会在负载平衡中使用。有谁知道如何做到这一点?