simple queue, parallel router fetch as_completed , config autoupdate fixes

This commit is contained in:
Arseniy Kuznetsov
2022-12-30 19:11:07 +01:00
parent 27c71ee843
commit 660dd33369
6 changed files with 80 additions and 64 deletions

View File

@@ -11,7 +11,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
from concurrent.futures import ThreadPoolExecutor
from concurrent.futures import ThreadPoolExecutor, as_completed
from timeit import default_timer
from datetime import datetime
from mktxp.cli.config.config import config_handler
@@ -68,13 +68,11 @@ class CollectorHandler:
continue
# Publish the collection function as a future
future = executor.submit(self.collect_single, router_entry)
futures.append(future)
futures.append(executor.submit(self.collect_single, router_entry))
for future in as_completed(futures):
yield from future.result()
# Join all futures and collect their results
for future in futures:
results = future.result()
yield from results
def collect(self):
now = datetime.now().timestamp()

View File

@@ -34,6 +34,7 @@ from mktxp.collector.firewall_collector import FirewallCollector
from mktxp.collector.mktxp_collector import MKTXPCollector
from mktxp.collector.user_collector import UserCollector
from mktxp.collector.queue_collector import QueueTreeCollector
from mktxp.collector.queue_collector import QueueSimpleCollector
class CollectorRegistry:
@@ -69,6 +70,7 @@ class CollectorRegistry:
self.register('UserCollector', UserCollector.collect)
self.register('QueueTreeCollector', QueueTreeCollector.collect)
self.register('QueueSimpleCollector', QueueSimpleCollector.collect)
self.register('MKTXPCollector', MKTXPCollector.collect)

View File

@@ -45,6 +45,7 @@ class RouterEntry:
'WLANCollector': 0,
'CapsmanCollector': 0,
'QueueTreeCollector': 0,
'QueueSimpleCollector': 0,
'UserCollector': 0,
'MKTXPCollector': 0
}