Refactor cron scheduling
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'backups.create_backup',
|
||||
'legacy_name' => 'backup',
|
||||
'name' => 'Create backup',
|
||||
'description' => 'Creates the scheduled backup bundle through the configured backup store.',
|
||||
'module' => 'backups',
|
||||
'handler' => 'backup',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 43200],
|
||||
'timeout_seconds' => 1800,
|
||||
'estimated_duration_ms' => 60000,
|
||||
'priority' => 115,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'coolify.availability_monitor',
|
||||
'legacy_name' => 'CoolifyAvailabilityMonitorCron',
|
||||
'name' => 'Coolify availability monitor',
|
||||
'description' => 'Checks registered Coolify-managed infrastructure targets.',
|
||||
'module' => 'coolify',
|
||||
'handler' => 'CoolifyAvailabilityMonitorCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 60],
|
||||
'timeout_seconds' => 300,
|
||||
'estimated_duration_ms' => 2000,
|
||||
'priority' => 25,
|
||||
],
|
||||
[
|
||||
'id' => 'coolify.load_balancer_reconcile',
|
||||
'legacy_name' => 'CoolifyLoadBalancerReconcileCron',
|
||||
'name' => 'Coolify load balancer reconcile',
|
||||
'description' => 'Reconciles public gateway load balancer targets when automation is enabled.',
|
||||
'module' => 'coolify',
|
||||
'handler' => 'CoolifyLoadBalancerReconcileCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 60],
|
||||
'timeout_seconds' => 300,
|
||||
'estimated_duration_ms' => 3000,
|
||||
'priority' => 26,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'dynamicimages.pre_render',
|
||||
'legacy_name' => 'PreRenderDynamicImagesCron',
|
||||
'name' => 'Pre-render dynamic images',
|
||||
'description' => 'Pre-renders common self-serve dynamic image variants into Redis.',
|
||||
'module' => 'dynamicimages',
|
||||
'handler' => 'PreRenderDynamicImagesCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 900],
|
||||
'timeout_seconds' => 900,
|
||||
'estimated_duration_ms' => 30000,
|
||||
'priority' => 90,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'economic.sync_user_customer_discounts',
|
||||
'legacy_name' => 'SyncUserEconomicCustomerDiscounts',
|
||||
'name' => 'Sync e-conomic customer discounts',
|
||||
'description' => 'Clears cached customer discounts so e-conomic discount data can refresh.',
|
||||
'module' => 'economic',
|
||||
'handler' => 'SyncUserEconomicCustomerDiscounts',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 180],
|
||||
'timeout_seconds' => 300,
|
||||
'estimated_duration_ms' => 2000,
|
||||
'priority' => 30,
|
||||
],
|
||||
[
|
||||
'id' => 'economic.sync_user_customer_details',
|
||||
'legacy_name' => 'SyncUserEconomicCustomerDetails',
|
||||
'name' => 'Sync e-conomic customer details',
|
||||
'description' => 'Refreshes customer details and search documents from e-conomic.',
|
||||
'module' => 'economic',
|
||||
'handler' => 'SyncUserEconomicCustomerDetails',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 43200],
|
||||
'timeout_seconds' => 1800,
|
||||
'estimated_duration_ms' => 30000,
|
||||
'priority' => 110,
|
||||
],
|
||||
[
|
||||
'id' => 'economic.sync_system_search_customer_index',
|
||||
'legacy_name' => 'SyncSystemSearchEconomicCustomerIndex',
|
||||
'name' => 'Sync e-conomic customer search index',
|
||||
'description' => 'Refreshes the system search e-conomic customer index.',
|
||||
'module' => 'economic',
|
||||
'handler' => 'SyncSystemSearchEconomicCustomerIndex',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 900],
|
||||
'timeout_seconds' => 900,
|
||||
'estimated_duration_ms' => 10000,
|
||||
'priority' => 75,
|
||||
],
|
||||
[
|
||||
'id' => 'economic.sync_invoice_status',
|
||||
'legacy_name' => 'SyncEconomicInvoiceStatus',
|
||||
'name' => 'Sync e-conomic invoice status',
|
||||
'description' => 'Checks e-conomic invoice errors and draft status.',
|
||||
'module' => 'economic',
|
||||
'handler' => 'SyncEconomicInvoiceStatus',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 120],
|
||||
'timeout_seconds' => 300,
|
||||
'estimated_duration_ms' => 3000,
|
||||
'priority' => 35,
|
||||
],
|
||||
[
|
||||
'id' => 'economic.transfer_queue',
|
||||
'legacy_name' => 'EconomicTransferQueueCron',
|
||||
'name' => 'Process e-conomic transfer queue',
|
||||
'description' => 'Processes pending e-conomic transfer queue jobs in bounded batches.',
|
||||
'module' => 'economic',
|
||||
'handler' => 'EconomicTransferQueueCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 30],
|
||||
'timeout_seconds' => 300,
|
||||
'estimated_duration_ms' => 3000,
|
||||
'priority' => 20,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'failover.replica_monitor',
|
||||
'legacy_name' => 'ReplicaFailoverMonitorCron',
|
||||
'name' => 'Replica failover monitor',
|
||||
'description' => 'Checks replicated services and promotes eligible replicas during automatic failover.',
|
||||
'module' => 'failover',
|
||||
'handler' => 'ReplicaFailoverMonitorCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 60],
|
||||
'timeout_seconds' => 300,
|
||||
'estimated_duration_ms' => 3000,
|
||||
'priority' => 24,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'goals.progress_alerts',
|
||||
'legacy_name' => 'GoalsProgressAlertsCron',
|
||||
'name' => 'Goals progress alerts',
|
||||
'description' => 'Evaluates department goal alert schedules and sends due progress alerts.',
|
||||
'module' => 'goals',
|
||||
'handler' => 'GoalsProgressAlertsCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 60],
|
||||
'timeout_seconds' => 600,
|
||||
'estimated_duration_ms' => 10000,
|
||||
'priority' => 45,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'system.sync_logs',
|
||||
'legacy_name' => 'SyncLogs',
|
||||
'name' => 'Sync logs',
|
||||
'description' => 'Flush Redis-backed application logs into the database.',
|
||||
'module' => 'system',
|
||||
'handler' => 'syncLogsToDatabase',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 300],
|
||||
'timeout_seconds' => 120,
|
||||
'estimated_duration_ms' => 1000,
|
||||
'priority' => 10,
|
||||
],
|
||||
[
|
||||
'id' => 'system.search_cache_maintenance',
|
||||
'legacy_name' => 'SystemSearchCacheMaintenanceCron',
|
||||
'name' => 'System search cache maintenance',
|
||||
'description' => 'Processes dirty-table and full rebuild requests for system search caches.',
|
||||
'module' => 'system',
|
||||
'handler' => 'SystemSearchCacheMaintenanceCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 300],
|
||||
'timeout_seconds' => 600,
|
||||
'estimated_duration_ms' => 3000,
|
||||
'priority' => 70,
|
||||
],
|
||||
[
|
||||
'id' => 'system.prune_session_activity',
|
||||
'legacy_name' => 'PruneSystemSessionActivityCron',
|
||||
'name' => 'Prune system session activity',
|
||||
'description' => 'Deletes stale system session activity rows.',
|
||||
'module' => 'system',
|
||||
'handler' => 'PruneSystemSessionActivityCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 86400],
|
||||
'timeout_seconds' => 300,
|
||||
'estimated_duration_ms' => 1000,
|
||||
'priority' => 120,
|
||||
],
|
||||
[
|
||||
'id' => 'system.invoice_flags_manual_cache',
|
||||
'legacy_name' => 'WarmInvoicePeriodManualFlagsCron',
|
||||
'name' => 'Warm manual invoice flag cache',
|
||||
'description' => 'Warms superuser invoice-period manual flag counters.',
|
||||
'module' => 'system',
|
||||
'handler' => 'WarmInvoicePeriodManualFlagsCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 300],
|
||||
'timeout_seconds' => 600,
|
||||
'estimated_duration_ms' => 2000,
|
||||
'priority' => 80,
|
||||
],
|
||||
[
|
||||
'id' => 'system.invoice_flags_automatic_cache',
|
||||
'legacy_name' => 'WarmInvoicePeriodAutomaticFlagsCron',
|
||||
'name' => 'Warm automatic invoice flag cache',
|
||||
'description' => 'Warms current, previous, and queued invoice-period automatic flag caches.',
|
||||
'module' => 'system',
|
||||
'handler' => 'WarmInvoicePeriodAutomaticFlagsCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 300],
|
||||
'timeout_seconds' => 900,
|
||||
'estimated_duration_ms' => 5000,
|
||||
'priority' => 85,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'weatherapi.preload_department_responses',
|
||||
'legacy_name' => 'PreloadDepartmentWeatherResponsesCron',
|
||||
'name' => 'Preload department weather responses',
|
||||
'description' => 'Warms department weather timeline responses for visible and active departments.',
|
||||
'module' => 'weatherapi',
|
||||
'handler' => 'PreloadDepartmentWeatherResponsesCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 60],
|
||||
'timeout_seconds' => 300,
|
||||
'estimated_duration_ms' => 5000,
|
||||
'priority' => 40,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'workfeed.warm_employee_names',
|
||||
'legacy_name' => 'WarmWorkfeedEmployeeNamesCron',
|
||||
'name' => 'Warm Workfeed employee names',
|
||||
'description' => 'Warms Redis mappings for Workfeed employee identifiers and display names.',
|
||||
'module' => 'workfeed',
|
||||
'handler' => 'WarmWorkfeedEmployeeNamesCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 21600],
|
||||
'timeout_seconds' => 600,
|
||||
'estimated_duration_ms' => 5000,
|
||||
'priority' => 100,
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'id' => 'xlvask.sync_module',
|
||||
'legacy_name' => 'SyncXLVaskModuleCron',
|
||||
'name' => 'Sync XL Vask module',
|
||||
'description' => 'Runs scheduled XL Vask synchronization tasks when the module is enabled.',
|
||||
'module' => 'xlvask',
|
||||
'handler' => 'SyncXLVaskModuleCron',
|
||||
'schedule' => ['type' => 'interval', 'seconds' => 3600],
|
||||
'timeout_seconds' => 900,
|
||||
'estimated_duration_ms' => 10000,
|
||||
'priority' => 95,
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user