use crate::rulog::rulog;
use crate::ruweb::webserver;
use crate::{rucfg, rucmd};
use crate::rubase::rutils::str_utils;
pub fn start_web() -> std::io::Result<()> {
let args: Vec<String> = std::env::args().collect();
if args.len() >= 2 {
rucmd::find_bean_rucmd().unwrap().execute(&args);
ctlc();
return Ok(());
}
let cfg = rucfg::find_bean_ruconfig().unwrap();
if rucfg::ifNotMaster() {
rulog::info2("ruwebframe find_bean_ruconfig =>", cfg.get_self());
}
let port = str_utils::str2u16(cfg.get_self().web.server.port.as_str());
webserver::find_bean_ruapp().unwrap().run(port)
}
fn ctlc() {
rulog::info("服务已启动,按 Ctrl+C 退出");
let (tx, rx) = std::sync::mpsc::channel();
ctrlc::set_handler(move || {
tx.send(()).unwrap();
})
.unwrap();
rx.recv().unwrap();
println!("正在关闭...");
}