Welcome to Verne Clockwork

Verne Clockwork is a managed Cron-as-a-Service infrastructure designed for teams that need reliable, observable, and scalable job scheduling — without running their own cron daemons or queue workers.

What is Clockwork?

Clockwork lets you schedule HTTP callbacks on two execution models:

  • Cron Jobs — recurring tasks defined by a standard 5-field cron expression (e.g. 0 * * * * for every hour).
  • Delayed Jobs — one-shot tasks fired at a specific future timestamp.

In both cases, Clockwork's worker picks up the job at the right time and makes an HTTP request to any URL you configure — your own API, a webhook, a microservice endpoint, or a third-party integration.

Under the hood, Clockwork is a purpose-built Rust worker (clockwork_worker) with atomic job claiming to prevent double-execution across concurrent instances, full execution history, and retry-safe design.

Why Clockwork?

CapabilityDescription
Reliable SchedulingAtomic DB claim prevents double-execution across concurrent worker instances.
Full Execution HistoryEvery execution is recorded with status, duration, HTTP response code, and error details.
Flexible HTTP DispatchAny HTTP method (GET / POST / PUT / PATCH / DELETE), custom headers, and optional body.
Dashboard UIManage and monitor all jobs from the Verne Console without writing infrastructure code.
Multi-tenantEach tenant's jobs and execution history are strictly isolated.
Zero OpsNo queues to manage, no cron daemons to maintain — just an API call or a few clicks.

Quick Start

  1. Log in and open the Clockwork Dashboard.
  2. Go to the Cron Jobs tab to create a recurring job, or the Delayed Jobs tab to schedule a one-shot task.
  3. Fill in the target URL, HTTP method, schedule (cron expression or datetime), and optional headers/body.
  4. Click Create — Clockwork handles the rest.

Or use the API directly from your backend:

# Create a cron job that pings your health endpoint every 5 minutes
curl -X POST https://api.vernesoft.com/dashboard/clockwork/jobs \
  -H "Cookie: ory_kratos_session=<session>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Health ping",
    "schedule": "*/5 * * * *",
    "url": "https://yourapp.com/health",
    "method": "GET"
  }'
# Schedule a one-shot job to run at a specific time
curl -X POST https://api.vernesoft.com/dashboard/clockwork/delayed \
  -H "Cookie: ory_kratos_session=<session>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Send welcome email",
    "run_at": "2026-04-10T09:00:00Z",
    "url": "https://yourapp.com/internal/send-welcome",
    "method": "POST",
    "body": "{\"user_id\": \"usr_001\"}"
  }'

Authentication

All Clockwork API endpoints are served under /dashboard/clockwork/* and require a valid Kratos session cookie. The session is automatically set when you log in to the Verne Console.

When calling the API from server-side code, forward the ory_kratos_session cookie obtained during login.

Sessions are managed per-tenant — Clockwork will never expose or modify another tenant's jobs.