Skip to content

Commit e576a56

Browse files
committed
m
1 parent dfa345a commit e576a56

File tree

1 file changed

+34
-18
lines changed

1 file changed

+34
-18
lines changed

src/main.rs

+34-18
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ struct Args {
6060
#[clap(default_value = "5", long)]
6161
concurrent: usize,
6262

63+
#[clap(default_value = "2", long)]
64+
threads: usize,
65+
66+
#[clap(default_value = "1024*1024", long)]
67+
thread_stack_size: usize,
68+
6369
#[clap(default_value = "mydomain.io", long)]
6470
tls_host: String,
6571

@@ -97,24 +103,7 @@ fn rcgen(tls_host: &String) {
97103
}
98104
}
99105

100-
#[tokio::main]
101-
async fn main() -> anyhow::Result<()> {
102-
let args: Args = Args::parse();
103-
if args.log.is_empty() {
104-
tracing_subscriber::fmt::init();
105-
} else {
106-
let file_appender = tracing_appender::rolling::daily("./", args.log.as_str());
107-
//let (non_blocking_appender, _guard) = tracing_appender::non_blocking(file_appender);
108-
tracing_subscriber::fmt().with_writer(file_appender).init();
109-
tokio::spawn(utils::clean_rotate_logs(format!("./{}", args.log.as_str())));
110-
}
111-
tracing::info!("{args:?}");
112-
113-
if args.rcgen {
114-
rcgen(&args.tls_host);
115-
return Ok(());
116-
}
117-
106+
async fn service_main(args: &Args) -> anyhow::Result<()> {
118107
let recorder = utils::MetricsLogRecorder::new(Duration::from_secs(10));
119108
metrics::set_boxed_recorder(Box::new(recorder)).unwrap();
120109

@@ -192,3 +181,30 @@ async fn main() -> anyhow::Result<()> {
192181
}
193182
Ok(())
194183
}
184+
185+
fn main() {
186+
let args: Args = Args::parse();
187+
if args.log.is_empty() {
188+
tracing_subscriber::fmt::init();
189+
} else {
190+
let file_appender = tracing_appender::rolling::daily("./", args.log.as_str());
191+
//let (non_blocking_appender, _guard) = tracing_appender::non_blocking(file_appender);
192+
tracing_subscriber::fmt().with_writer(file_appender).init();
193+
tokio::spawn(utils::clean_rotate_logs(format!("./{}", args.log.as_str())));
194+
}
195+
tracing::info!("{args:?}");
196+
197+
if args.rcgen {
198+
rcgen(&args.tls_host);
199+
return;
200+
}
201+
tokio::runtime::Builder::new_multi_thread()
202+
.worker_threads(args.threads)
203+
.enable_all()
204+
.thread_stack_size(args.thread_stack_size)
205+
.build()
206+
.unwrap()
207+
.block_on(async {
208+
let _ = service_main(&args).await;
209+
});
210+
}

0 commit comments

Comments
 (0)