Skip to main content

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:
  • UTC
  • America/New_York
  • Europe/London
  • Asia/Tokyo
  • Australia/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:
  1. Digest-pinned images: nginx@sha256:abc123...
  2. Local images: Images not available in a registry
  3. System containers: Dockhand and Hawser agents
  4. Already up-to-date: Current image matches registry
  5. 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

Response:

Manual Triggers

Trigger any scheduled task manually:

Trigger Container Update

Trigger Git Stack Sync

Trigger System Job

Available system jobs:
  • schedule-cleanup
  • event-cleanup
  • volume-helper-cleanup

Best Practices

Cron Expression Tips

  1. Avoid peak hours for intensive operations
  2. Distribute load across the hour
  3. Consider timezones for multi-region deployments

Update Strategy

Troubleshooting

Schedule Not Running

  1. Check if scheduler is running:
  2. Verify cron expression:
  3. Check execution logs:

Timezone Issues

Performance Issues

If too many schedules are impacting performance:
  1. Consolidate schedules: Group similar tasks
  2. Increase intervals: Use longer cron periods
  3. Distribute timing: Spread jobs across different times
  4. Monitor execution times: Check logs for slow operations

API Reference