Scheduler Command Center
Expanded controls live on Dashboard and Scheduler / Settings onlyNext Scheduled Fires
| Trigger | Group | Type | State | Job | Next fire |
|---|---|---|---|---|---|
| invoice-sync-5m | billing | SimpleTrigger | NORMAL | InvoiceSyncJob | 09:45:00 Europe/Rome |
| daily-ledger-close | finance | CronTrigger | NORMAL | LedgerCloseJob | 18:00:00 Europe/Rome |
| tenant-cleanup | maintenance | DailyTimeInterval | PAUSED | TenantCleanupJob | paused |
| erp-retry-window | integrations | CalendarInterval | ERROR | ErpRetryJob | requires reset |
| cache-warmup | platform | SimpleTrigger | BLOCKED | CacheWarmupJob | 09:47:30 Europe/Rome |
| welcome-email-once | crm | SimpleTrigger | COMPLETE | WelcomeEmailJob | complete |
Execution Load
Last 30 minutesEvent Stream
Jobs
Jobs become first-class Quartz objects: class, group, durability, recovery, concurrency, data map, associated triggers, and execution history are visible in one operational surface.
Job Registry
| Job key | Group | Class | Durable | Recovery | Concurrent | Triggers | Next run |
|---|---|---|---|---|---|---|---|
| InvoiceSyncJob | billing | it.fabioformosa.jobs.InvoiceSyncJob | YES | YES | DISALLOW | 3 | 09:45 |
| LedgerCloseJob | finance | it.fabioformosa.jobs.LedgerCloseJob | YES | NO | ALLOW | 1 | 18:00 |
| TenantCleanupJob | maintenance | it.fabioformosa.jobs.TenantCleanupJob | YES | YES | DISALLOW | 2 | paused |
| ErpRetryJob | integrations | it.fabioformosa.jobs.ErpRetryJob | YES | YES | ALLOW | 4 | error |
| CacheWarmupJob | platform | it.fabioformosa.jobs.CacheWarmupJob | NO | NO | DISALLOW | 1 | 09:47 |
| WelcomeEmailJob | crm | it.fabioformosa.jobs.WelcomeEmailJob | NO | NO | ALLOW | 0 | complete |
Triggers
The trigger page expands beyond SimpleTrigger: every row shows type, state, linked job, fire times, calendar, priority, and misfire policy, with operational actions exposed close to the selected trigger.
Trigger Inventory
| Trigger | Group | Type | State | Job | Next fire | Previous fire | Misfire |
|---|---|---|---|---|---|---|---|
| invoice-sync-5m | billing | SimpleTrigger | NORMAL | InvoiceSyncJob | 09:45 | 09:40 | FIRE_NOW |
| daily-ledger-close | finance | CronTrigger | NORMAL | LedgerCloseJob | 18:00 | yesterday | SMART |
| tenant-cleanup | maintenance | DailyTimeInterval | PAUSED | TenantCleanupJob | paused | 08:30 | DO_NOTHING |
| erp-retry-window | integrations | CalendarInterval | ERROR | ErpRetryJob | reset | 09:20 | FIRE_ONCE |
| weekly-report | analytics | CronTrigger | NORMAL | ReportJob | Mon 07:00 | Mon 07:00 | SMART |
| cache-warmup | platform | SimpleTrigger | BLOCKED | CacheWarmupJob | 09:47 | 09:42 | IGNORE |
Calendars
Quartz calendars are exclusion rules, not date pickers. This page makes the calendar type, base calendar, trigger usage, excluded windows, and next included time testable before operators attach them to triggers.
Calendar Registry
| Calendar | Type | Base calendar | Triggers | Next excluded | Description |
|---|---|---|---|---|---|
| business-days | WeeklyCalendar | company-holidays | 14 | 2026-05-16 00:00 | Exclude Saturday and Sunday. |
| company-holidays | HolidayCalendar | none | 9 | 2026-06-02 00:00 | Italian public holidays. |
| month-end-freeze | MonthlyCalendar | business-days | 3 | 2026-05-31 00:00 | Exclude month-end close window. |
| batch-window | DailyCalendar | business-days | 4 | 2026-05-11 20:00 | Allow 06:00 to 20:00 only. |
| cron-blackout | CronCalendar | none | 1 | Fri 23:00 | Exclude release windows. |
Weekly Time Grid
A visual editor for DailyCalendar / WeeklyCalendar windowsExecutions
Currently executing jobs are treated as live operational objects with fire instance id, scheduled versus actual fire time, run time, refire count, recovery state, and node ownership.
Currently Executing Jobs
| Fire instance | Job | Trigger | Scheduled | Actual | Run time | Refire | Node |
|---|---|---|---|---|---|---|---|
| node-a7f3-119238 | InvoiceSyncJob | invoice-sync-5m | 09:40:00 | 09:40:03 | 04:21 | 0 | node-a7f3 |
| node-b912-119239 | CacheWarmupJob | cache-warmup | 09:42:30 | 09:42:31 | 01:53 | 0 | node-b912 |
| node-a7f3-119240 | ErpRetryJob | erp-retry-window | 09:43:00 | 09:43:08 | 00:46 | 2 | node-a7f3 |
Recent Execution History
| Completed | Job | Trigger | Duration | Result | Node | Message |
|---|---|---|---|---|---|---|
| 09:39:58 | ReportJob | weekly-report | 00:11 | SUCCESS | node-b912 | Report generated for analytics group. |
| 09:38:22 | ErpRetryJob | erp-retry-window | 00:31 | FAILED | node-a7f3 | ResourceAccessException from ERP endpoint. |
Event Stream
The old logs and progress panels become one observable stream with live mode, pause, text search, severity filtering, event-type filtering, and export for incident review.
Live Events
Scheduler / Settings
The full scheduler command surface belongs here: global lifecycle actions, delayed start, shutdown, clear, cluster metadata, nodes, currently executing jobs, and safety warnings for destructive operations.
Lifecycle Controls
Global actions affect all jobs, triggers, calendars, and running executionsScheduler Metadata
JDBC JOB STORECluster Nodes
2 ACTIVEGlobal State Overview
| Area | Current state | Count | Representative key | Recommended action |
|---|---|---|---|---|
| Executing jobs | RUNNING | 3 | InvoiceSyncJob | Open Executions before interrupting anything. |
| Paused groups | PAUSED | 4 | maintenance | Resume group only after maintenance window closes. |
| Error triggers | ERROR | 1 | erp-retry-window | Resolve root cause, then reset from Triggers page. |
| Misfires | MISFIRE | 5 / hour | daily-ledger-close | Review thread pool saturation and misfire policy. |