feat: add Job Monitor page with cron job logging and Selenium queue status

This commit is contained in:
ff
2026-04-13 00:32:18 -04:00
parent 034c0fa993
commit 11a6d2e5a7
85 changed files with 3046 additions and 12 deletions

View File

@@ -0,0 +1,13 @@
import * as z from 'zod';
// prettier-ignore
export const CronJobLogInputSchema = z.object({
id: z.number().int(),
jobName: z.string(),
status: z.string(),
startedAt: z.date(),
completedAt: z.date().optional().nullable(),
durationMs: z.number().int().optional().nullable(),
errorMessage: z.string().optional().nullable()
}).strict();
export type CronJobLogInputType = z.infer<typeof CronJobLogInputSchema>;

View File

@@ -20,6 +20,7 @@ export { ServiceLineTransactionInputSchema } from './ServiceLineTransaction.inpu
export { DatabaseBackupInputSchema } from './DatabaseBackup.input';
export { BackupDestinationInputSchema } from './BackupDestination.input';
export { NotificationInputSchema } from './Notification.input';
export { CronJobLogInputSchema } from './CronJobLog.input';
export { CloudFolderInputSchema } from './CloudFolder.input';
export { CloudFileInputSchema } from './CloudFile.input';
export { CloudFileChunkInputSchema } from './CloudFileChunk.input';

View File

@@ -0,0 +1,13 @@
import * as z from 'zod';
// prettier-ignore
export const CronJobLogModelSchema = z.object({
id: z.number().int(),
jobName: z.string(),
status: z.string(),
startedAt: z.date(),
completedAt: z.date().nullable(),
durationMs: z.number().int().nullable(),
errorMessage: z.string().nullable()
}).strict();
export type CronJobLogPureType = z.infer<typeof CronJobLogModelSchema>;

View File

@@ -20,6 +20,7 @@ export { ServiceLineTransactionModelSchema } from './ServiceLineTransaction.pure
export { DatabaseBackupModelSchema } from './DatabaseBackup.pure';
export { BackupDestinationModelSchema } from './BackupDestination.pure';
export { NotificationModelSchema } from './Notification.pure';
export { CronJobLogModelSchema } from './CronJobLog.pure';
export { CloudFolderModelSchema } from './CloudFolder.pure';
export { CloudFileModelSchema } from './CloudFile.pure';
export { CloudFileChunkModelSchema } from './CloudFileChunk.pure';

View File

@@ -0,0 +1,13 @@
import * as z from 'zod';
// prettier-ignore
export const CronJobLogResultSchema = z.object({
id: z.number().int(),
jobName: z.string(),
status: z.string(),
startedAt: z.date(),
completedAt: z.date().nullable(),
durationMs: z.number().int().nullable(),
errorMessage: z.string().nullable()
}).strict();
export type CronJobLogResultType = z.infer<typeof CronJobLogResultSchema>;

View File

@@ -20,6 +20,7 @@ export { ServiceLineTransactionResultSchema } from './ServiceLineTransaction.res
export { DatabaseBackupResultSchema } from './DatabaseBackup.result';
export { BackupDestinationResultSchema } from './BackupDestination.result';
export { NotificationResultSchema } from './Notification.result';
export { CronJobLogResultSchema } from './CronJobLog.result';
export { CloudFolderResultSchema } from './CloudFolder.result';
export { CloudFileResultSchema } from './CloudFile.result';
export { CloudFileChunkResultSchema } from './CloudFileChunk.result';