diff --git a/system/blueprints/config/scheduler.yaml b/system/blueprints/config/scheduler.yaml index 2c2eadd9e..b0c38a838 100644 --- a/system/blueprints/config/scheduler.yaml +++ b/system/blueprints/config/scheduler.yaml @@ -24,302 +24,90 @@ form: validate: type: commalist - webhook_status_override: - type: display - label: - content: | - - markdown: false - - status_enhanced: - type: display - label: - content: | - - modern_health: type: display label: Health Status content: |
-
Checking health...
+
Loading...
markdown: false @@ -329,93 +117,97 @@ form: label: Active Triggers content: |
-
Checking triggers...
+
Loading...
diff --git a/system/config/scheduler.yaml b/system/config/scheduler.yaml index 8868532d2..2129c1b26 100644 --- a/system/config/scheduler.yaml +++ b/system/config/scheduler.yaml @@ -12,10 +12,8 @@ status: {} # Custom scheduled jobs custom_jobs: {} -# Modern scheduler features (disabled by default for backward compatibility) +# Modern scheduler features modern: - # Enable modern scheduler features - enabled: false # Number of concurrent workers (1 = sequential execution like legacy) workers: 1 diff --git a/system/src/Grav/Common/Scheduler/Scheduler.php b/system/src/Grav/Common/Scheduler/Scheduler.php index 4a1963a70..68f957382 100644 --- a/system/src/Grav/Common/Scheduler/Scheduler.php +++ b/system/src/Grav/Common/Scheduler/Scheduler.php @@ -598,12 +598,29 @@ class Scheduler /** * Check if webhook is enabled - * + * * @return bool */ public function isWebhookEnabled(): bool { - return $this->webhookEnabled; + // Requires both: the config toggle enabled AND the scheduler-webhook plugin installed + if (!$this->webhookEnabled) { + return false; + } + + $grav = Grav::instance(); + return (bool) $grav['config']->get('plugins.scheduler-webhook.enabled', false); + } + + /** + * Check if the scheduler-webhook plugin is installed and enabled + * + * @return bool + */ + public function isWebhookPluginReady(): bool + { + $grav = Grav::instance(); + return (bool) $grav['config']->get('plugins.scheduler-webhook.enabled', false); } /** @@ -1008,7 +1025,7 @@ class Scheduler 'failed_jobs_24h' => 0, 'scheduled_jobs' => count($enabledJobs), 'jobs_due' => $dueJobs, - 'webhook_enabled' => $this->webhookEnabled, + 'webhook_enabled' => $this->isWebhookEnabled(), 'health_check_enabled' => $this->healthEnabled, 'timestamp' => date('c'), ];