emit.run

Welcome

emit.run - Reliable background job processing

emit.run

Durable background job processing. Submit jobs, poll for work, process them — with automatic retries, timeouts, and real-time progress streaming out of the box.

Why emit.run?

  • Survives failures — Jobs persist through restarts, crashes, and deploys. Automatic retries with configurable backoff.
  • Webhook notifications — Get notified on completion or failure via webhooks. Monitor live job activity over WebSockets for dashboards and observability.
  • Fine-grained permissions — Granular scopes let you give producers, workers, and dashboards exactly the access they need.
  • Space-based multi-tenancy — Organize jobs into spaces by project, environment, or team. Each space has its own queue, tokens, and event stream.
  • Simple worker model — Poll, ack, do work, complete. No SDKs required — it's just HTTP.

How It Works

Produceremit.runWorkerDashboardSubmitPOST /jobsqueued -> pendingProcessPOST /jobs/polljob descriptorPOST /jobs/:id/ackPOST /jobs/:id/progressPOST /jobs/:id/complete|failControlPOST /jobs/:id/killoptional operator stopNotifywebhookcompleted, dead, or killedObserveWebSocket /realtimespace stream or single job stream
HTTPControlWebhookWebSocket

On this page