coolify/tests/Unit
Andras Bacsai b22e79caec feat(jobs): improve scheduled tasks with retry logic and queue cleanup
- Add retry configuration to CoolifyTask (3 tries, 600s timeout)
- Add retry configuration to ScheduledTaskJob (3 tries, configurable timeout)
- Add retry configuration to DatabaseBackupJob (2 tries)
- Implement exponential backoff for all jobs (30s, 60s, 120s intervals)
- Add failed() handlers with comprehensive error logging to scheduled-errors channel
- Add execution tracking: started_at, retry_count, duration (decimal), error_details
- Add configurable timeout field to scheduled tasks (60-3600s, default 300s)
- Update UI to include timeout configuration in task creation/editing forms
- Increase ScheduledJobManager lock expiration from 60s to 90s for high-load environments
- Implement safe queue cleanup with restart vs runtime modes
  - Restart mode: aggressive cleanup (marks all processing jobs as failed)
  - Runtime mode: conservative cleanup (only marks jobs >12h as failed, skips deployments)
- Add cleanup:redis --restart flag for system startup
- Integrate cleanup into Dev.php init() for development environment
- Increase scheduled-errors log retention from 7 to 14 days
- Create comprehensive test suite (unit and feature tests)
- Add TESTING_GUIDE.md with manual testing instructions

Fixes issues with jobs failing after single attempt and "attempted too many times" errors
2025-11-10 11:11:18 +01:00
..
Actions/User Changes auto-committed by Conductor 2025-10-16 17:13:47 +02:00
Policies feat: Implement required port validation for service applications 2025-11-06 14:32:36 +01:00
Rules feat: add YAML validation for cloud-init scripts 2025-10-11 13:56:55 +02:00
ApplicationComposeEditorLoadTest.php fix: Monaco editor empty for docker compose applications 2025-10-27 12:48:20 +01:00
ApplicationConfigurationChangeTest.php fix: Remove duplicate custom_labels from config hash calculation 2025-11-01 13:28:56 +01:00
ApplicationDeploymentEmptyEnvTest.php Changes auto-committed by Conductor 2025-10-21 20:39:39 +02:00
ApplicationGitSecurityTest.php fix: prevent command injection in git ls-remote operations 2025-10-15 14:53:50 +02:00
ApplicationHealthcheckRemovalTest.php Changes auto-committed by Conductor 2025-10-22 12:41:17 +02:00
ApplicationNetworkAliasesSyncTest.php refactor: Improve handling of custom network aliases 2025-11-01 13:13:14 +01:00
ApplicationSettingStaticCastTest.php feat: Update ApplicationSetting model to include additional boolean casts 2025-11-04 08:43:33 +01:00
ApplicationWatchPathsTest.php refactor(tests): simplify matchWatchPaths tests and update implementation for better clarity 2025-09-26 14:33:18 +02:00
BashEnvEscapingTest.php fix: handle null environment variable values in bash escaping 2025-10-15 13:35:58 +02:00
CloudInitScriptValidationTest.php feat: add cloud-init script support for Hetzner server creation 2025-10-10 19:37:16 +02:00
DatalistComponentTest.php feat: add support for selecting additional SSH keys from Hetzner in server creation form 2025-10-10 12:17:05 +02:00
DockerComposeEmptyStringPreservationTest.php feat: Implement required port validation for service applications 2025-11-06 14:32:36 +01:00
DockerComposeEmptyTopLevelSectionsTest.php fix: preserve empty strings and remove empty sections in docker-compose 2025-11-06 12:30:03 +01:00
DockerComposeLabelParsingTest.php Changes auto-committed by Conductor 2025-10-16 08:51:15 +02:00
DockerComposeRawContentRemovalTest.php Fix: Preserve clean docker_compose_raw without Coolify additions 2025-10-23 19:07:12 +02:00
DockerComposeRawSeparationTest.php Fix: Preserve clean docker_compose_raw without Coolify additions 2025-10-23 19:07:12 +02:00
DockerfileArgInsertionTest.php test: add unit tests for Dockerfile ARG insertion logic 2025-11-06 08:54:40 +01:00
DockerImageAutoParseTest.php fix: improve Docker image digest handling and add auto-parse feature 2025-10-15 10:19:01 +02:00
DockerImageParserTest.php fix: improve Docker image digest handling and add auto-parse feature 2025-10-15 10:19:01 +02:00
GitLsRemoteParsingTest.php test: improve Git ls-remote parsing tests with uppercase SHA and negative cases 2025-10-14 17:34:26 +02:00
GlobalSearchNewImageQuickActionTest.php fix: 'new image' quick action not progressing to resource selection 2025-10-15 10:49:07 +02:00
HetznerDeletionFailedNotificationTest.php feat: implement Hetzner deletion failure notification system with email and messaging support 2025-10-10 09:35:58 +02:00
HetznerSshKeysTest.php feat: add support for selecting additional SSH keys from Hetzner in server creation form 2025-10-10 12:17:05 +02:00
ParseDockerVolumeStringTest.php fix(parsers): enhance volume string handling by preserving mode in application and service parsers. Update related unit tests for validation. 2025-08-27 16:54:49 +02:00
PreSaveValidationTest.php fix: prevent command injection in Docker Compose parsing - add pre-save validation 2025-10-16 09:51:37 +02:00
PrivateKeyStorageTest.php fix(private-key): implement transaction handling and error verification for private key storage operations 2025-09-09 16:46:38 +02:00
ProxyCustomCommandsTest.php feat(proxy): enhance proxy configuration regeneration by extracting custom commands 2025-10-07 11:11:13 +02:00
ScheduledJobManagerLockTest.php Fix stale lock issue causing scheduled tasks to stop (#4539) 2025-10-23 10:07:33 +02:00
ScheduledJobsRetryConfigTest.php feat(jobs): improve scheduled tasks with retry logic and queue cleanup 2025-11-10 11:11:18 +01:00
ServiceConfigurationRefreshTest.php fix: prevent duplicate services on image change and enable real-time UI refresh 2025-10-14 10:12:36 +02:00
ServiceNameSecurityTest.php fix: prevent command injection in Docker Compose parsing - add pre-save validation 2025-10-16 09:51:37 +02:00
ServiceParserImageUpdateTest.php fix: prevent duplicate services on image change and enable real-time UI refresh 2025-10-14 10:12:36 +02:00
ServicePortSpecificVariablesTest.php feat: Implement required port validation for service applications 2025-11-06 14:32:36 +01:00
ServiceRequiredPortTest.php feat: Implement required port validation for service applications 2025-11-06 14:32:36 +01:00
SshRetryMechanismTest.php fix(ssh): introduce SshRetryHandler and SshRetryable trait for enhanced SSH command retry logic with exponential backoff and error handling 2025-09-07 17:17:35 +02:00
ValidateShellSafePathTest.php refactor: harden and deduplicate validateShellSafePath 2025-10-16 09:51:37 +02:00
ValidGitRepositoryUrlTest.php fix(validation): update git:// URL validation to support port numbers and tilde characters in paths 2025-09-29 12:21:15 +02:00
ValidHostnameTest.php feat: implement ValidHostname validation rule and integrate it into server creation process 2025-10-10 11:03:13 +02:00
VolumeArrayFormatSecurityTest.php feat: allow safe environment variable defaults in array-format volumes 2025-10-16 09:51:37 +02:00
VolumeSecurityTest.php test: add coverage for newline and tab rejection in volume strings 2025-10-16 09:51:37 +02:00
WindowsPathVolumeTest.php fix: use canonical parser for Windows path validation 2025-10-16 09:51:37 +02:00