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