Skip to content
Snippets Groups Projects
Commit 3ccf71d5 authored by geant-release-service's avatar geant-release-service
Browse files

Finished release 0.74.

parents 2b2c79d3 146df5e4
Branches
Tags 0.74
No related merge requests found
...@@ -9,7 +9,7 @@ from concurrent.futures import Future ...@@ -9,7 +9,7 @@ from concurrent.futures import Future
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from brian_dashboard_manager.config import DEFAULT_ORGANIZATIONS from brian_dashboard_manager.config import DEFAULT_ORGANIZATIONS
from brian_dashboard_manager.grafana.utils.request import AdminRequest, \ from brian_dashboard_manager.grafana.utils.request import AdminRequest, \
TokenRequest TokenRequest, MAX_THREADS
from brian_dashboard_manager.services.api import fetch_services from brian_dashboard_manager.services.api import fetch_services
...@@ -41,7 +41,6 @@ from brian_dashboard_manager.templating.render import ( ...@@ -41,7 +41,6 @@ from brian_dashboard_manager.templating.render import (
render_simple_dashboard, render_simple_dashboard,
) )
MAX_THREADS = 16
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
DASHBOARDS = { DASHBOARDS = {
...@@ -810,7 +809,9 @@ def _provision_org(config, org, org_config): ...@@ -810,7 +809,9 @@ def _provision_org(config, org, org_config):
with ThreadPoolExecutor(max_workers=MAX_THREADS) as thread_executor: with ThreadPoolExecutor(max_workers=MAX_THREADS) as thread_executor:
args = (thread_executor, config, org_config, ds_name, token_request) args = (thread_executor, config, org_config, ds_name, token_request)
managed_dashboards = itertools.chain(
# call to list is needed to queue up the futures
managed_dashboards = list(itertools.chain(
_provision_interfaces(*args), _provision_interfaces(*args),
_provision_gws_indirect(*args), _provision_gws_indirect(*args),
_provision_gws_direct(*args), _provision_gws_direct(*args),
...@@ -819,7 +820,7 @@ def _provision_org(config, org, org_config): ...@@ -819,7 +820,7 @@ def _provision_org(config, org, org_config):
_provision_service_dashboards(*args), _provision_service_dashboards(*args),
_provision_static_dashboards(*args), _provision_static_dashboards(*args),
_get_ignored_dashboards(*args) _get_ignored_dashboards(*args)
) ))
managed_dashboard_uids = {} managed_dashboard_uids = {}
for dashboard in managed_dashboards: for dashboard in managed_dashboards:
......
...@@ -4,13 +4,15 @@ from requests.adapters import HTTPAdapter ...@@ -4,13 +4,15 @@ from requests.adapters import HTTPAdapter
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
MAX_THREADS = 16
class Request(requests.Session): class Request(requests.Session):
def __init__(self, url, headers=None): def __init__(self, url, headers=None):
super().__init__() super().__init__()
# allow using up to 16 connections # allow using up to 16 connections
adapter = HTTPAdapter(pool_maxsize=16) adapter = HTTPAdapter(pool_maxsize=MAX_THREADS)
self.mount(url, adapter) self.mount(url, adapter)
self.headers.update({ self.headers.update({
......
...@@ -2,6 +2,10 @@ ...@@ -2,6 +2,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [0.74] - 2024-11-05
- Ensure futures are all started at the same time, enabling proper multithreading
- Synchronize thread count and urllib pool size to avoid dropped connections
## [0.73] - 2024-11-05 ## [0.73] - 2024-11-05
- Set minimum interval per panel rather than globally, to avoid issues with panels using data from different sources with different intervals. - Set minimum interval per panel rather than globally, to avoid issues with panels using data from different sources with different intervals.
- Set 15m minimum interval for GEANT LAMBDA / Managed Wavelength Service panels since the polling interval is 15m in the TNMS data source. - Set 15m minimum interval for GEANT LAMBDA / Managed Wavelength Service panels since the polling interval is 15m in the TNMS data source.
......
...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages ...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup( setup(
name='brian-dashboard-manager', name='brian-dashboard-manager',
version="0.73", version="0.74",
author='GEANT', author='GEANT',
author_email='swd@geant.org', author_email='swd@geant.org',
description='', description='',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment