fix blocking behavior!!

This commit is contained in:
Brandon Thomas committed 2022-01-20 23:48:33 -05:00
1 parent 6950a86821
commit 72b6924422
2 files changed
+45 -42

No files matched your search

@@ -100,30 +100,61 @@ impl TwitchPubsubUserSubscriberThread {
self.twitch_websocket_client.listen(&oauth_token_record.access_token, &topics).await.unwrap();
loop {
//let maybe_event = self.twitch_websocket_client.try_next()
// .await
// .unwrap();
info!("maybe event...");
let maybe_event = self.twitch_websocket_client.try_next()
.await
.unwrap();
let mut interval = tokio::time::interval(Duration::from_millis(1000));
match maybe_event {
None => {
}
Some(ref event) => {
warn!("event: {:?}", event);
match event {
Response::Response(_) => {}
Response::Message { .. } => {}
Response::Pong => {}
Response::Reconnect => {}
// NB: We can't block forever.
// Adapted from https://github.com/snapview/tokio-tungstenite/blob/master/examples/interval-server.rs
tokio::select! {
maybe_event = self.twitch_websocket_client.try_next() => {
match maybe_event {
Err(e) => {
warn!("socket recv error: {:?}", e);
}
Ok(None) => {},
Ok(Some(ref event)) => {
warn!("event: {:?}", event);
match event {
Response::Response(_) => {}
Response::Message { .. } => {}
Response::Pong => {}
Response::Reconnect => {}
}
}
}
}
_ = interval.tick() => {
//ws_sender.send(Message::Text("tick".to_owned())).await?;
sleep(Duration::from_secs(5));
}
}
sleep(Duration::from_secs(1));
// match maybe_event {
// None => {
// }
// Some(ref event) => {
// warn!("event: {:?}", event);
//
// match event {
// Response::Response(_) => {}
// Response::Message { .. } => {}
// Response::Pong => {}
// Response::Reconnect => {}
// }
// }
// }
self.maybe_renew_redis_lease().unwrap();
self.maybe_send_twitch_ping().await.unwrap();
sleep(Duration::from_secs(5));
}
}
}
-28
View File
@@ -1,28 +0,0 @@
# Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from nemo.package_info import (
__contact_emails__,
__contact_names__,
__description__,
__download_url__,
__homepage__,
__keywords__,
__license__,
__package_name__,
__repository_url__,
__shortversion__,
__version__,
)