Overview
Cron Jobs in Qovery are Kubernetes workloads that run on a regular schedule. They are perfect for recurring tasks such as pulling data from external services periodically or processing accumulated data. Common Use Cases:- Pull data from external APIs at regular intervals
- Process and transform database data
- Generate scheduled reports
- Clean up old records
- Perform database backups
- Run maintenance scripts
Deployment Sources
Qovery supports two deployment sources for Cron Jobs:Git Repository
Qovery pulls your code from a Git repository, builds the application, and deploys it to your Kubernetes cluster. Supported Providers: GitHub, GitLab, BitbucketContainer Registry
Qovery pulls a pre-built container image from your configured registry and deploys it to your Kubernetes cluster.Creating a Cron Job
1
Select Source
Choose Git Repository or Container Registry as your deployment source
2
Configure Source
For Git Repository:
- Select Git provider
- Choose repository
- Select branch
- Specify root path (if not at repository root)
- Configure Dockerfile path
- Select configured registry
- Enter image name
- Specify image tag (not
latest)
3
Configure Job Settings
- CRON Schedule: Define when the job should run
- Timezone: Set timezone for schedule
- Entrypoint: Override container entrypoint (optional)
- CMD Arguments: Provide command arguments (optional)
- Restart Policy: Configure failure handling
- Max Duration: Set execution timeout
- Port: Configure if job exposes a port (optional)
4
Configure Resources
- vCPU: Default 500m (0.5 cores)
- RAM: Default 512MB
5
Environment Variables
Configure environment variables for your job
6
Review and Deploy
Review configuration and click Create to deploy
Configuration
General Settings
Name: Unique identifier for your Cron Job within the environment Source Configuration:- Git: Provider, repository, branch, root path, Dockerfile
- Registry: Image name and specific tag
Job Configuration
CRON Schedule: Define when your job should run using CRON syntax:*/5 * * * *- Every 5 minutes0 * * * *- Every hour0 0 * * *- Daily at midnight0 2 * * 0- Weekly on Sunday at 2 AM
- Never: Job runs once per schedule (recommended for Cron Jobs)
- OnFailure: Automatically restart if job fails
Resources
- vCPU: CPU allocation in millicores (default: 500m)
- Memory: RAM allocation (default: 512MB)
Health Checks
Configure optional health checks:- Liveness Probe: Determines if container should be restarted
- Readiness Probe: Determines if container is ready to execute
Deployment Restrictions
Control when deployments should be triggered:- File path filters: Deploy only when specific files change
- Branch filters: Deploy only from specific branches
Force Run
Manually trigger a Cron Job execution outside its schedule:1
Navigate to Job
Go to your Cron Job in the Qovery console
2
Click Play Button
Click the Play button or Force Run action
3
Monitor Execution
View real-time logs and verify successful completion
Force Run executions do not affect the regular schedule. The job will still run at its next scheduled time.
Clone Service
Duplicate a Cron Job configuration to the same or different environment:1
Select Job
Go to the Cron Job you want to clone
2
Clone Job
Click Actions → Clone
3
Configure Clone
- New name for cloned job
- Target environment
- Settings to copy
Delete Cron Job
To delete a Cron Job:- Navigate to the Cron Job settings
- Click the three-dot menu → Delete
- Confirm deletion