for metro_server in vba[hostname]["connector-metro"]: if metro_server in nagios_servers: return metro_server return vba[hostname]["connector-metro"][0] def _run_db_generator(appclass): from vigilo.models.session import DBSession # Pour éviter que le pool loggue les déconnexions (SALE) # DBSession.bind.pool._should_log_info = False # On force la reconnection à la base de données DBSession.bind.dispose() transaction.begin() app = appclass() generator = app.generator(app, {}) try: generator.generate() except SkipGenerator, e: LOGGER.warning(e) LOGGER.warning(_("Skipping %s generator"), app.name) transaction.abort() else: transaction.commit() LOGGER.info(_("Generated configuration for %s"), app.name) finally: DBSession.close_all() # fermeture propre des connexions, ce sous-process va être tué DBSession.bind.dispose()