File tree Expand file tree Collapse file tree 1 file changed +19
-8
lines changed
Expand file tree Collapse file tree 1 file changed +19
-8
lines changed Original file line number Diff line number Diff line change 11use std:: {
22 path:: PathBuf ,
3+ pin:: pin,
34 sync:: { Arc , LazyLock } ,
5+ time:: { Duration , Instant } ,
46} ;
57
68use miniserve:: { http:: StatusCode , Content , Request , Response } ;
@@ -50,14 +52,23 @@ fn chatbot_thread() -> (mpsc::Sender<Payload>, mpsc::Sender<()>) {
5052 while let Some ( ( messages, responder) ) = req_rx. recv ( ) . await {
5153 let doc_paths = chatbot. retrieval_documents ( & messages) ;
5254 let docs = load_docs ( doc_paths) . await ;
53- let chat_fut = chatbot. query_chat ( & messages, & docs) ;
54- let cancel_fut = cancel_rx. recv ( ) ;
55- tokio:: select! {
56- response = chat_fut => {
57- responder. send( Some ( response) ) . unwrap( ) ;
58- }
59- _ = cancel_fut => {
60- responder. send( None ) . unwrap( ) ;
55+ let mut chat_fut = pin ! ( chatbot. query_chat( & messages, & docs) ) ;
56+ let mut cancel_fut = pin ! ( cancel_rx. recv( ) ) ;
57+ let start = Instant :: now ( ) ;
58+ loop {
59+ let log_fut = tokio:: time:: sleep ( Duration :: from_secs ( 1 ) ) ;
60+ tokio:: select! {
61+ response = & mut chat_fut => {
62+ responder. send( Some ( response) ) . unwrap( ) ;
63+ break ;
64+ }
65+ _ = & mut cancel_fut => {
66+ responder. send( None ) . unwrap( ) ;
67+ break ;
68+ }
69+ _ = log_fut => {
70+ println!( "Waiting for {} seconds" , start. elapsed( ) . as_secs( ) ) ;
71+ }
6172 }
6273 }
6374 }
You can’t perform that action at this time.
0 commit comments