mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-10 12:01:36 +00:00
fix blocking behavior!!
This commit is contained in:
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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__,
|
||||
)
|
||||
Reference in new issue
Block a user