registry := headgate.NewRegistry()
err := headgate.RegisterFunc[GenerateInvoice](registry,
func(ctx context.Context, job *headgate.Job[GenerateInvoice]) error {
headgate.Log(ctx, "generating "+job.Args.InvoiceID)
return nil
})
if err != nil { return err }
runner := headgate.NewRunner(store, registry, headgate.Config{
Queues: map[string]headgate.QueueConfig{
"billing": {MaxWorkers: 16},
},
})
return runner.Run(ctx)