trigger-dev

SKILL.md

Trigger.dev

Trigger.dev is an open-source background jobs platform for TypeScript with durable execution, built-in retries, scheduling, and real-time monitoring.

Documentation

Key Capabilities

  • Durable waits: wait.for({ seconds: 30 }), wait.until({ date }), and wait.forToken() suspend execution without consuming timeout — the run resumes after the wait, not a new invocation.
  • No default timeout: Tasks have no built-in timeout. Set maxDuration per task or globally in config if a limit is needed.
  • Batch triggering: tasks.batchTrigger() accepts up to 1,000 items in a single call.
  • Child tasks with results: childTask.triggerAndWait() suspends the parent until the child completes and returns a typed Result object — check .ok before accessing .output, or call .unwrap().
  • Lifecycle hooks: onStart, onSuccess, onFailure, and init in config handle cross-cutting concerns without modifying task code.
  • Build extensions: @trigger.dev/build/extensions provides first-party support for Prisma, FFmpeg, Playwright, and system packages — use instead of manual Docker layers.

Best Practices

  • Never wrap triggerAndWait or batchTriggerAndWait in Promise.all — this pattern is explicitly unsupported and will cause failures.
  • Every task must be exported from its file. Non-exported tasks are silently ignored and will not run.
  • Use AbortTaskRunError to fail a run without retrying (e.g., for validation failures). Throwing any other error triggers the retry policy.
  • Each Trigger.dev environment (dev, staging, prod) has its own TRIGGER_SECRET_KEY — using the wrong key triggers runs in the wrong environment with no obvious error.
  • processKeepAlive reduces cold starts but the process can be killed at any time; do not rely on in-memory state persisting between task runs.
Weekly Installs
1
GitHub Stars
1
First Seen
12 days ago
Installed on
mcpjam1
claude-code1
junie1
windsurf1
zencoder1
crush1