windows服务配置
This commit is contained in:
@@ -17,7 +17,12 @@ lazy_static! {
|
||||
|
||||
#[cfg(windows)]
|
||||
pub fn get_win_server_home() -> PathBuf {
|
||||
"./".into()
|
||||
SWITCH_HOME_PATH.lock().as_ref().unwrap().clone()
|
||||
}
|
||||
|
||||
#[cfg(windows)]
|
||||
pub fn set_win_server_home(home:PathBuf) {
|
||||
let _ = SWITCH_HOME_PATH.lock().insert(home);
|
||||
}
|
||||
|
||||
pub struct StartConfig {
|
||||
|
||||
@@ -141,6 +141,7 @@ async fn main() {
|
||||
let args: Vec<_> = std::env::args().collect();
|
||||
if args.len() == 3 && args[1] == windows::SERVICE_FLAG {
|
||||
//以服务的方式启动
|
||||
config::set_win_server_home(std::path::PathBuf::from(&args[2]));
|
||||
windows::service::start();
|
||||
return;
|
||||
} else {
|
||||
|
||||
@@ -44,7 +44,7 @@ pub fn switch_service_main(arguments: Vec<OsString>) {
|
||||
}
|
||||
|
||||
async fn service_main(args: StartArgs) -> windows_service::Result<()> {
|
||||
log::error!("service_main:{:?}",args);
|
||||
log::info!("service_main:{:?}",args);
|
||||
let parker = crossbeam::sync::Parker::new();
|
||||
let un_parker = parker.unparker().clone();
|
||||
let event_handler = move |control_event| -> ServiceControlHandlerResult {
|
||||
|
||||
Reference in New Issue
Block a user