Fix runners not disappearing

This commit is contained in:
Joscha 2023-08-10 23:35:20 +02:00
parent 2079d0b12d
commit b16b3a668e
5 changed files with 10 additions and 8 deletions

View file

@ -37,7 +37,6 @@ async fn post_status(
Err(response) => return Ok(response),
};
let now = OffsetDateTime::now_utc();
let queue = sqlx::query_scalar!(
"\
SELECT hash FROM queue \
@ -48,13 +47,13 @@ async fn post_status(
.await?;
let mut guard = runners.lock().unwrap();
guard.clean(now);
guard.clean();
if !guard.verify(&name, &request.secret) {
return Ok((StatusCode::UNAUTHORIZED, "invalid secret").into_response());
}
guard.update(
name.clone(),
RunnerInfo::new(request.secret, now, request.status),
RunnerInfo::new(request.secret, OffsetDateTime::now_utc(), request.status),
);
let work = match request.request_work {
true => guard.find_free_work(&queue),

View file

@ -9,8 +9,7 @@ use sqlx::SqlitePool;
use crate::{config::Config, server::util, somehow};
use super::{Base, Tab, link::CommitLink};
use super::{link::CommitLink, Base, Tab};
#[derive(Template)]
#[template(path = "commit.html")]

View file

@ -46,6 +46,7 @@ fn sorted_runners(runners: &Mutex<Runners>) -> Vec<(String, RunnerInfo)> {
let mut runners = runners
.lock()
.unwrap()
.clean()
.get_all()
.into_iter()
.collect::<Vec<_>>();

View file

@ -29,7 +29,8 @@ pub async fn get(
State(config): State<&'static Config>,
State(runners): State<Arc<Mutex<Runners>>>,
) -> somehow::Result<Response> {
let Some(info) = runners.lock().unwrap().get(&name) else {
let info = runners.lock().unwrap().clean().get(&name);
let Some(info) = info else {
return Ok(StatusCode::NOT_FOUND.into_response());
};