@@ -62,14 +76,14 @@ function filterJobByStatus(status: string) {
Last Heartbeat:
- {{ collector.lastHeartbeatAt }}
+ {{ formatISODate(collector.lastHeartbeatAt) }}
Date Added:
- {{ collector.dateAdded }}
+ {{ formatISODate(collector.dateAdded) }}
@@ -83,7 +97,7 @@ function filterJobByStatus(status: string) {
class="table-collector-status-filter-btn"
@click="filterJobByStatus(filter)"
>
- {{ filter }}
+ {{ formatJobStatus(filter) }}
- {{ job.status }}
+ {{ formatJobStatus(job.status) }}
|
- {{ job.startedAt }}
+ {{ formatISODate(job.startedAt) }}
|
{{ job.backend }} |
{{ job.profile }} |
diff --git a/site/frontend/src/pages/status_new/page.vue b/site/frontend/src/pages/status_new/page.vue
index 49754ee35..a1c3ed4b6 100644
--- a/site/frontend/src/pages/status_new/page.vue
+++ b/site/frontend/src/pages/status_new/page.vue
@@ -4,7 +4,7 @@ import {h, ref, Ref} from "vue";
import {getJson} from "../../utils/requests";
import {STATUS_DATA_NEW_URL} from "../../urls";
import {withLoading} from "../../utils/loading";
-import {formatSecondsAsDuration} from "../../utils/formatting";
+import {formatSecondsAsDuration, formatISODate} from "../../utils/formatting";
import {useExpandedStore} from "../../utils/expansion";
import {
BenchmarkRequest,
@@ -158,7 +158,7 @@ loadStatusData(loading);
req.status === "Completed" && req.hasPendingJobs ? "*" : ""
}}
- |
+ |
|
@@ -210,7 +210,6 @@ loadStatusData(loading);
.collector-wrapper {
width: 100%;
display: flex;
- justify-content: center;
align-items: center;
flex-direction: column;
padding-left: 8px;
diff --git a/site/frontend/src/utils/formatting.ts b/site/frontend/src/utils/formatting.ts
index a44464b99..d0b91c292 100644
--- a/site/frontend/src/utils/formatting.ts
+++ b/site/frontend/src/utils/formatting.ts
@@ -1,3 +1,5 @@
+import {parseISO, format} from "date-fns";
+
// `time` has to be in seconds
export function formatSecondsAsDuration(time: number): string {
let seconds = time % 60;
@@ -17,3 +19,11 @@ export function formatSecondsAsDuration(time: number): string {
}
return s;
}
+
+// Takes a date like `2025-09-10T08:22:47.161348Z` -> `"2025-09-10 08:22:47"`
+export function formatISODate(dateString?: string): string {
+ if (dateString) {
+ return format(parseISO(dateString), "yyyy-MM-dd HH:mm:ss");
+ }
+ return "";
+}
diff --git a/site/src/job_queue/mod.rs b/site/src/job_queue/mod.rs
index 665a61bf0..3969db96d 100644
--- a/site/src/job_queue/mod.rs
+++ b/site/src/job_queue/mod.rs
@@ -289,8 +289,6 @@ pub async fn cron_main(site_ctxt: Arc>>>, seconds: u
let ctxt = site_ctxt.clone();
loop {
- interval.tick().await;
-
if let Some(ctxt_clone) = {
let guard = ctxt.read();
guard.as_ref().cloned()
@@ -300,6 +298,8 @@ pub async fn cron_main(site_ctxt: Arc>>>, seconds: u
Err(e) => log::error!("Cron job failed to execute: {e:?}"),
}
}
+
+ interval.tick().await;
}
}
|