tangled
alpha
login
or
join now
bwc9876.dev
/
bingus-bot
0
fork
atom
The world's most clever kitty cat
0
fork
atom
overview
issues
pulls
pipelines
Handle SIGTERM
bwc9876.dev
1 day ago
f20feff8
d009ae2d
verified
This commit was signed with the committer's
known signature
.
bwc9876.dev
SSH Key Fingerprint:
SHA256:DanMEP/RNlSC7pAVbnXO6wzQV00rqyKj053tz4uH5gQ=
+7
-1
1 changed file
expand all
collapse all
unified
split
src
main.rs
+7
-1
src/main.rs
···
26
use log::{debug, error, info, warn};
27
use prelude::*;
28
use tokio::{
0
29
sync::RwLock,
30
time::{self, Duration},
31
};
···
212
213
let mut interval = time::interval(Duration::from_secs(60));
214
interval.tick().await;
215
-
tokio::pin!(interval);
0
216
217
info!("Connecting to gateway...");
218
···
223
224
Ok(()) = tokio::signal::ctrl_c() => {
225
info!("SIGINT: Closing connection and saving");
0
0
0
0
226
shard.close(CloseFrame::NORMAL);
227
}
228
_ = interval.tick() => {
···
26
use log::{debug, error, info, warn};
27
use prelude::*;
28
use tokio::{
29
+
signal::unix::{SignalKind, signal},
30
sync::RwLock,
31
time::{self, Duration},
32
};
···
213
214
let mut interval = time::interval(Duration::from_secs(60));
215
interval.tick().await;
216
+
217
+
let mut sigterm = signal(SignalKind::terminate()).context("Failed to listen to SIGTERM")?;
218
219
info!("Connecting to gateway...");
220
···
225
226
Ok(()) = tokio::signal::ctrl_c() => {
227
info!("SIGINT: Closing connection and saving");
228
+
shard.close(CloseFrame::NORMAL);
229
+
}
230
+
_ = sigterm.recv() => {
231
+
info!("SIGTERM: Closing connection and saving");
232
shard.close(CloseFrame::NORMAL);
233
}
234
_ = interval.tick() => {