Canvas: Auto cleanup old workers
Change-Id: I046ce8dcbadd14b53e465fe0ffb60fae642c6951
diff --git a/apps/canvas/front/src/Monitoring.tsx b/apps/canvas/front/src/Monitoring.tsx
index 0d86432..46197ef 100644
--- a/apps/canvas/front/src/Monitoring.tsx
+++ b/apps/canvas/front/src/Monitoring.tsx
@@ -62,19 +62,31 @@
[env?.services],
);
+ const handleViewLogsClick = useCallback(
+ (serviceName: string, workerId: string) => {
+ setSelectedServiceForLogs(serviceName);
+ setSelectedWorkerIdForLogs(workerId);
+ },
+ [setSelectedServiceForLogs, setSelectedWorkerIdForLogs],
+ );
+
useEffect(() => {
if (sortedServices.length > 0 && sortedServices[0].workers && sortedServices[0].workers.length > 0) {
- if (!selectedServiceForLogs && !selectedWorkerIdForLogs) {
+ if (!selectedServiceForLogs || !selectedWorkerIdForLogs) {
+ handleViewLogsClick(sortedServices[0].name, sortedServices[0].workers[0].id);
+ return;
+ }
+ const service = sortedServices.find((s) => s.name === selectedServiceForLogs);
+ if (service == null) {
+ handleViewLogsClick(sortedServices[0].name, sortedServices[0].workers[0].id);
+ return;
+ }
+ const worker = service.workers.find((w) => w.id === selectedWorkerIdForLogs);
+ if (worker == null) {
handleViewLogsClick(sortedServices[0].name, sortedServices[0].workers[0].id);
}
}
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [sortedServices]);
-
- const handleViewLogsClick = (serviceName: string, workerId: string) => {
- setSelectedServiceForLogs(serviceName);
- setSelectedWorkerIdForLogs(workerId);
- };
+ }, [sortedServices, selectedServiceForLogs, selectedWorkerIdForLogs, handleViewLogsClick]);
const handleReloadWorkerClick = useCallback(
(serviceName: string, workerId: string) => {
@@ -302,7 +314,7 @@
<div className="flex flex-col h-full">
{selectedServiceForLogs && selectedWorkerIdForLogs ? (
<>
- <div className="p-2 border-b text-sm text-muted-foreground">
+ <div className="p-2 border-b">
Logs for: {selectedServiceForLogs} / {selectedWorkerIdForLogs}
</div>
<div className="flex-1 h-full p-4 bg-muted overflow-auto">