@@ -120,14 +120,18 @@ async fn main() -> Result<()> {
120
120
let state = get_world_state ( nats. clone ( ) ) . await ?;
121
121
let stream = nats. jetstream . get_stream ( "plane_state" ) . await . unwrap ( ) ;
122
122
123
+ let mut removed_backends = 0 ;
124
+
123
125
for ( cluster_name, cluster) in & state. clusters {
124
126
for ( backend_id, backend) in & cluster. backends {
125
127
if let Some ( ( timestamp, state) ) = backend. state_timestamp ( ) {
126
128
if state. terminal ( ) {
127
- println ! (
128
- "Removing backend {} from cluster {}, {} at {}" ,
129
- backend_id, cluster_name, state, timestamp
130
- ) ;
129
+ if dry_run {
130
+ println ! (
131
+ "Would remove backend {} from cluster {}, {} at {}" ,
132
+ backend_id, cluster_name, state, timestamp
133
+ ) ;
134
+ }
131
135
} else if timestamp < chrono:: Utc :: now ( ) - chrono:: Duration :: hours ( 24 )
132
136
&& ( state != BackendState :: Ready )
133
137
{
@@ -162,7 +166,7 @@ async fn main() -> Result<()> {
162
166
if dry_run {
163
167
println ! ( "Would purge {:?}" , subjects) ;
164
168
} else {
165
- println ! ( "Purging {:?}" , subjects ) ;
169
+ removed_backends += 1 ;
166
170
167
171
for subject in subjects. iter ( ) {
168
172
stream. purge ( ) . filter ( subject) . await . unwrap ( ) ;
@@ -175,6 +179,12 @@ async fn main() -> Result<()> {
175
179
}
176
180
}
177
181
}
182
+
183
+ if dry_run {
184
+ println ! ( "Would have removed {} backends" , removed_backends) ;
185
+ } else {
186
+ println ! ( "Removed {} backends" , removed_backends) ;
187
+ }
178
188
}
179
189
Command :: DumpState => {
180
190
let state = get_world_state ( nats. clone ( ) ) . await ?;
0 commit comments