diff --git a/trustgraph-base/trustgraph/base/triples_query_service.py b/trustgraph-base/trustgraph/base/triples_query_service.py index b8053b01..09f36652 100644 --- a/trustgraph-base/trustgraph/base/triples_query_service.py +++ b/trustgraph-base/trustgraph/base/triples_query_service.py @@ -17,12 +17,14 @@ from . producer_spec import ProducerSpec logger = logging.getLogger(__name__) default_ident = "triples-query" +default_concurrency = 10 class TriplesQueryService(FlowProcessor): def __init__(self, **params): id = params.get("id") + concurrency = params.get("concurrency", default_concurrency) super(TriplesQueryService, self).__init__(**params | { "id": id }) @@ -30,7 +32,8 @@ class TriplesQueryService(FlowProcessor): ConsumerSpec( name = "request", schema = TriplesQueryRequest, - handler = self.on_message + handler = self.on_message, + concurrency = concurrency, ) ) @@ -109,6 +112,13 @@ class TriplesQueryService(FlowProcessor): FlowProcessor.add_args(parser) + parser.add_argument( + '-c', '--concurrency', + type=int, + default=default_concurrency, + help=f'Number of concurrent requests (default: {default_concurrency})' + ) + def run(): Processor.launch(default_ident, __doc__)