mirror of https://github.com/jumpserver/jumpserver
fix: 修改db_port_mapper策略; 启动时进行check校验;
parent
f4b0ba43a2
commit
5d865ffd54
|
@ -45,7 +45,7 @@ def on_applet_create(sender, instance, created=False, **kwargs):
|
||||||
def init_db_port_mapper(sender, **kwargs):
|
def init_db_port_mapper(sender, **kwargs):
|
||||||
logger.info('Init db port mapper')
|
logger.info('Init db port mapper')
|
||||||
try:
|
try:
|
||||||
db_port_manager.init()
|
db_port_manager.check()
|
||||||
except (ProgrammingError,) as e:
|
except (ProgrammingError,) as e:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
@ -34,9 +34,22 @@ class DBPortManager(object):
|
||||||
def magnus_listen_port_range(self):
|
def magnus_listen_port_range(self):
|
||||||
return settings.MAGNUS_PORTS
|
return settings.MAGNUS_PORTS
|
||||||
|
|
||||||
def init(self):
|
@staticmethod
|
||||||
|
def fetch_dbs():
|
||||||
with tmp_to_root_org():
|
with tmp_to_root_org():
|
||||||
db_ids = Asset.objects.filter(platform__category=Category.DATABASE).values_list('id', flat=True)
|
dbs = Asset.objects.filter(platform__category=Category.DATABASE).order_by('id')
|
||||||
|
return dbs
|
||||||
|
|
||||||
|
def check(self):
|
||||||
|
dbs = self.fetch_dbs()
|
||||||
|
for db in dbs:
|
||||||
|
port = self.get_port_by_db(db, raise_exception=False)
|
||||||
|
if not port:
|
||||||
|
self.add(db)
|
||||||
|
|
||||||
|
def init(self):
|
||||||
|
dbs = self.fetch_dbs()
|
||||||
|
db_ids = dbs.values_list('id', flat=True)
|
||||||
db_ids = [str(i) for i in db_ids]
|
db_ids = [str(i) for i in db_ids]
|
||||||
mapper = dict(zip(self.all_available_ports, list(db_ids)))
|
mapper = dict(zip(self.all_available_ports, list(db_ids)))
|
||||||
self.set_mapper(mapper)
|
self.set_mapper(mapper)
|
||||||
|
|
Loading…
Reference in New Issue