Go-native background work
Let the work leave the request.
A simpler job queue for Go teams. Aim for reliable background processing without assembling more infrastructure than the work deserves.
Early product. Clear primitives. Built for teams that would rather ship the worker than operate the queue.

01 / the starting pointFor backend teams
The promise
Less to assemble. More time to ship.
01 / native to Go
Ergonomic APIs and familiar patterns keep the queue close to the code your team already owns.
Start with a job, a handler, and a worker. Make the boundary legible.
02 / reliability, made explicit
Retries, backoff, and observability are the operational concerns a queue should make explicit.
A practical foundation for validating the background tasks your service depends on.
A smaller surface area
Make every job easier to reason about.
Go jobs is shaped around the everyday work behind a service: send an email, sync a customer, generate a report. Keep the mechanism close and the behavior clear.

02 / familiar toolsCode first
job := gojobs.New("emails", opts)
job.Enqueue(ctx, EmailWelcome{UserID: 42})
job.Handle(func(ctx context.Context, j *gojobs.Job) error {
return sendWelcomeEmail(j.Payload().(EmailWelcome))
})
job.Run(ctx)For teams building in Go
Background work, handled.
When your service needs to do more than respond, give the work a clear place to go. Go jobs is a focused starting point for asynchronous processing.
Browse open roles
03 / forward motionBuilt for progress
Open roles
Give every job a place to go.
Browse representative roles for a Go service: email, customer sync, and reporting. The product is early, and the next step is making these primitives real.
EmailWelcome
/ emailsA small, explicit unit of background work.
SyncCustomer
/ customersMove slow work out of the request path.
GenerateReport
/ reportsA long-running task worth containing.
