ruwebframe 0.1.6

a simple webframe for rust actix-web, based on rudi and rbatis.
Documentation
use crate::rulog::ru_log;
use crate::ruweb::{webdto, webrouter, webserver};
use crate::{rucfg, rucmd  };
use crate::rubase::rutils::str_utils;
use crate::ruweb::webrouter::clear_route_items;

// pub fn start_web_reg(reg: fn()) -> std::io::Result<()> {
//     clear_route_items();
//     reg();
// 
//     webdto::list_items();
// 
//     start_web()
// }

pub fn start_web() -> std::io::Result<()> {
    let args: Vec<String> = std::env::args().collect();
    if args.len() >= 2 {
        rucmd::find_bean_ru_cmd().unwrap().execute(&args);
        ctlc();
        return Ok(());
    }
    let cfg = rucfg::find_bean_ru_config().unwrap();
    if rucfg::ifNotMaster() {
        ru_log::info2("ruwebframe find_bean_ruconfig =>", cfg.get_self());
    }
    let port = str_utils::str2u16(cfg.get_self().web.server.port.as_str()); 
    // thread::park_timeout(Duration::from_secs(5));
    webrouter::route_factroy::list_routes_items();
    webdto::list_items();

    webserver::find_bean_ru_app().unwrap().run(port)
}

 
fn ctlc() {
    ru_log::info("服务已启动,按 Ctrl+C 退出");
    let (tx, rx) = std::sync::mpsc::channel();
    ctrlc::set_handler(move || {
        tx.send(()).unwrap();
    })
    .unwrap();
    // 阻塞主线程,等待信号
    rx.recv().unwrap();
    println!("正在关闭...");
}