Overview
Dockhand’s unified scheduler service manages all automated tasks using cron expressions with timezone support. The scheduler handles container auto-updates, Git stack synchronization, system cleanup, and custom maintenance tasks.Scheduler Architecture
The scheduler is built on Croner, a robust cron implementation with timezone support:Cron Expression Format
Dockhand uses standard cron expressions with optional seconds:Advanced Expressions
Timezone Support
Every schedule can have its own timezone:Supported Timezones
Any IANA timezone is supported:UTCAmerica/New_YorkEurope/LondonAsia/TokyoAustralia/Sydney
Container Auto-Updates
Configuration
Configure automatic updates for any container:Vulnerability Criteria
Block updates based on vulnerability scans:Update Process
The auto-update task performs intelligent updates:Skip Conditions
Auto-updates are automatically skipped for:- Digest-pinned images:
nginx@sha256:abc123... - Local images: Images not available in a registry
- System containers: Dockhand and Hawser agents
- Already up-to-date: Current image matches registry
- Failed vulnerability scan: When criteria not met
Git Stack Sync
Scheduled Sync
Automatically sync Git stacks on a schedule:Smart Sync Behavior
The scheduler only redeploys when changes are detected:System Cleanup Jobs
Schedule Execution Cleanup
Automatically remove old execution logs:Event Cleanup
Clean up container event logs:Volume Helper Cleanup
Automatic cleanup of temporary volume browser containers:Environment Update Checks
Schedule periodic checks for available updates across an entire environment:Image Pruning
Automate Docker image cleanup:Schedule Management
Register a Schedule
Unregister a Schedule
Refresh Schedules
Reload all schedules from database:Execution Tracking
All scheduled tasks create execution records:View Execution History
Manual Triggers
Trigger any scheduled task manually:Trigger Container Update
Trigger Git Stack Sync
Trigger System Job
schedule-cleanupevent-cleanupvolume-helper-cleanup
Best Practices
Cron Expression Tips
-
Avoid peak hours for intensive operations
-
Distribute load across the hour
-
Consider timezones for multi-region deployments
Update Strategy
Troubleshooting
Schedule Not Running
-
Check if scheduler is running:
-
Verify cron expression:
-
Check execution logs:
Timezone Issues
Performance Issues
If too many schedules are impacting performance:- Consolidate schedules: Group similar tasks
- Increase intervals: Use longer cron periods
- Distribute timing: Spread jobs across different times
- Monitor execution times: Check logs for slow operations
