Skip to content

Commit f4c6cad

Browse files
committed
node/launcher: extract build_graphql_server helper from run
1 parent 12ac009 commit f4c6cad

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

node/src/launcher.rs

+31-13
Original file line numberDiff line numberDiff line change
@@ -357,8 +357,6 @@ pub async fn run(opt: Opt, env_vars: Arc<EnvVars>) {
357357
metrics_registry.cheap_clone(),
358358
));
359359

360-
let graphql_metrics_registry = metrics_registry.clone();
361-
362360
// TODO: make option loadable from configuration TOML and environment:
363361
let expensive_queries =
364362
read_expensive_queries(&logger, opt.expensive_queries_filename.clone()).unwrap();
@@ -403,20 +401,14 @@ pub async fn run(opt: Opt, env_vars: Arc<EnvVars>) {
403401
cleanup_ethereum_shallow_blocks(&blockchain_map, &network_store);
404402
}
405403

406-
let shards: Vec<_> = config.stores.keys().cloned().collect();
407-
let load_manager = Arc::new(LoadManager::new(
404+
let graphql_server = build_graphql_server(
405+
&config,
408406
&logger,
409-
shards,
410407
expensive_queries,
411408
metrics_registry.clone(),
412-
));
413-
let graphql_runner = Arc::new(GraphQlRunner::new(
414-
&logger,
415-
network_store.clone(),
416-
load_manager,
417-
graphql_metrics_registry,
418-
));
419-
let graphql_server = GraphQLQueryServer::new(&logger_factory, graphql_runner.clone());
409+
&network_store,
410+
&logger_factory,
411+
);
420412

421413
let index_node_server = IndexNodeServer::new(
422414
&logger_factory,
@@ -523,6 +515,32 @@ pub async fn run(opt: Opt, env_vars: Arc<EnvVars>) {
523515
graph::futures03::future::pending::<()>().await;
524516
}
525517

518+
fn build_graphql_server(
519+
config: &Config,
520+
logger: &Logger,
521+
expensive_queries: Vec<Arc<q::Document>>,
522+
metrics_registry: Arc<MetricsRegistry>,
523+
network_store: &Arc<Store>,
524+
logger_factory: &LoggerFactory,
525+
) -> GraphQLQueryServer<GraphQlRunner<Store>> {
526+
let shards: Vec<_> = config.stores.keys().cloned().collect();
527+
let load_manager = Arc::new(LoadManager::new(
528+
&logger,
529+
shards,
530+
expensive_queries,
531+
metrics_registry.clone(),
532+
));
533+
let graphql_runner = Arc::new(GraphQlRunner::new(
534+
&logger,
535+
network_store.clone(),
536+
load_manager,
537+
metrics_registry,
538+
));
539+
let graphql_server = GraphQLQueryServer::new(&logger_factory, graphql_runner.clone());
540+
541+
graphql_server
542+
}
543+
526544
fn spawn_contention_checker(logger: Logger) {
527545
// Periodically check for contention in the tokio threadpool. First spawn a
528546
// task that simply responds to "ping" requests. Then spawn a separate

0 commit comments

Comments
 (0)