Merge branch 'main' into MED-91

This commit is contained in:
Danel Kungla
2025-08-12 15:50:14 +03:00
2 changed files with 5 additions and 54 deletions

View File

@@ -24,7 +24,7 @@ export function ButtonTooltip({
<Info className="size-4 cursor-pointer" />
</Button>
</TooltipTrigger>
<TooltipContent>{content}</TooltipContent>
<TooltipContent className='sm:max-w-[30vw] sm:leading-4'>{content}</TooltipContent>
</Tooltip>
</TooltipProvider>
);

View File

@@ -1,7 +1,9 @@
/**
* This file is used to register monitoring instrumentation
* for your Next.js application.
*/
import { type Instrumentation } from 'next';
const isEnabledInDev = process.env.ENABLE_LOCAL_JOBS === 'true';
export async function register() {
const { registerMonitoringInstrumentation } = await import(
'@kit/monitoring/instrumentation'
@@ -10,9 +12,6 @@ export async function register() {
// Register monitoring instrumentation
// based on the MONITORING_PROVIDER environment variable.
await registerMonitoringInstrumentation();
// Register lightweight in-process job scheduler
await registerJobScheduler();
}
/**
@@ -29,51 +28,3 @@ export const onRequestError: Instrumentation.onRequestError = async (err) => {
await service.ready();
await service.captureException(err as Error);
};
async function registerJobScheduler() {
const isProd = process.env.NODE_ENV === 'production';
if (!isProd && !isEnabledInDev) {
console.info('Job scheduler disabled');
return;
}
// Prevent duplicate intervals on hot reloads/dev
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const globalAny = globalThis as any;
if (globalAny.__mrJobSchedulerInitialized) {
console.info('Job scheduler already initialized');
return;
}
globalAny.__mrJobSchedulerInitialized = true;
let isRunning = false;
const runSyncAnalysisResults = async () => {
if (isRunning) {
console.info('Scheduled job syncAnalysisResults skipped: previous run still in progress');
return;
}
isRunning = true;
try {
try {
const { default: loadEnv } = await import('./app/api/job/handler/load-env');
loadEnv();
} catch {
// ignore if not available or already loaded
}
const { default: syncAnalysisResults } = await import(
'./app/api/job/handler/sync-analysis-results'
);
await syncAnalysisResults();
} catch (error) {
console.error('Scheduled job syncAnalysisResults failed:', error);
} finally {
isRunning = false;
}
};
// Run every 10 minutes
setTimeout(runSyncAnalysisResults, 15_000);
setInterval(runSyncAnalysisResults, 10 * 60 * 1000);
}