mirror of
https://github.com/KevinMidboe/mktxp-no-cli.git
synced 2025-10-29 17:50:23 +00:00
simple queue, parallel router fetch as_completed , config autoupdate fixes
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ class RouterEntry:
|
||||
'WLANCollector': 0,
|
||||
'CapsmanCollector': 0,
|
||||
'QueueTreeCollector': 0,
|
||||
'QueueSimpleCollector': 0,
|
||||
'UserCollector': 0,
|
||||
'MKTXPCollector': 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user