mirror of
https://github.com/Dummi26/musicdb.git
synced 2025-03-10 14:13:53 +01:00
fix bug where server would not start CacheManager
This commit is contained in:
parent
3ffd6b6377
commit
b3aea8a4c9
@ -69,20 +69,14 @@ async fn main() {
|
|||||||
// database can be shared by multiple threads using Arc<Mutex<_>>
|
// database can be shared by multiple threads using Arc<Mutex<_>>
|
||||||
let database = Arc::new(Mutex::new(database));
|
let database = Arc::new(Mutex::new(database));
|
||||||
if args.tcp.is_some() || args.web.is_some() {
|
if args.tcp.is_some() || args.web.is_some() {
|
||||||
if let Some(addr) = &args.web {
|
|
||||||
let (s, mut r) = tokio::sync::mpsc::channel(2);
|
|
||||||
let db = Arc::clone(&database);
|
|
||||||
thread::spawn(move || run_server(database, args.tcp, Some(s)));
|
|
||||||
if let Some(sender) = r.recv().await {
|
|
||||||
web::main(db, sender, *addr).await;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
let mem_min = args.advanced_cache_min_mem;
|
let mem_min = args.advanced_cache_min_mem;
|
||||||
let cache_limit = args.advanced_cache_song_lookahead_limit;
|
let cache_limit = args.advanced_cache_song_lookahead_limit;
|
||||||
|
let args_tcp = args.tcp;
|
||||||
|
let run_server = move |database, sender_sender| {
|
||||||
run_server_caching_thread_opt(
|
run_server_caching_thread_opt(
|
||||||
database,
|
database,
|
||||||
args.tcp,
|
args_tcp,
|
||||||
None,
|
sender_sender,
|
||||||
args.advanced_cache.map(|max| {
|
args.advanced_cache.map(|max| {
|
||||||
Box::new(
|
Box::new(
|
||||||
move |cm: &mut musicdb_lib::data::cache_manager::CacheManager| {
|
move |cm: &mut musicdb_lib::data::cache_manager::CacheManager| {
|
||||||
@ -92,6 +86,16 @@ async fn main() {
|
|||||||
) as _
|
) as _
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
};
|
||||||
|
if let Some(addr) = &args.web {
|
||||||
|
let (s, mut r) = tokio::sync::mpsc::channel(2);
|
||||||
|
let db = Arc::clone(&database);
|
||||||
|
thread::spawn(move || run_server(database, Some(s)));
|
||||||
|
if let Some(sender) = r.recv().await {
|
||||||
|
web::main(db, sender, *addr).await;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
run_server(database, None);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
eprintln!("nothing to do, not starting the server.");
|
eprintln!("nothing to do, not starting the server.");
|
||||||
|
Loading…
Reference in New Issue
Block a user