19 lines
839 B
TypeScript
19 lines
839 B
TypeScript
import { maintenancePolicies } from './policies.js';
|
|
import { watchdogOverview, watchdogTick } from './recovery.js';
|
|
import { maintenanceTick, plutoniumStatus } from './runtime.js';
|
|
import type { MaintenanceOverview } from '../../maintenance.js';
|
|
|
|
export function maintenanceOverview(selectedJob: number | null = null): MaintenanceOverview {
|
|
return {
|
|
policies: maintenancePolicies(),
|
|
recovery: watchdogOverview(),
|
|
runtime: plutoniumStatus(selectedJob)
|
|
};
|
|
}
|
|
export async function runMaintenance(): Promise<void> {
|
|
// One failing observer must not prevent the other capabilities from reconciling.
|
|
const results = await Promise.allSettled([maintenanceTick(), watchdogTick()]);
|
|
for (const result of results)
|
|
if (result.status === 'rejected') console.error('[maintenance]', result.reason);
|
|
}
|