Background jobs starter
Answer every request straight away and do the slow part in the background. A dashboard enqueues jobs and shows them live, and a BullMQ worker in the same process runs them with progress, retries with exponential backoff, graceful shutdown and a bounded history. One environment variable splits the worker into its own app when you need to scale it. Deploying it creates a managed Valkey and connects it for you. Needs an always-on plan, because a sleeping app runs no jobs.
One click creates the app and connects what it needs
-
A managed Valkey, bound as
REDIS_URL(Starter, €2.45/month)
The first deploy waits until it is ready, so the app starts connected. You can untick it before creating the app.
The source
This template is an ordinary public repository. Read it, fork it, or open a pull request against it. Deploying pulls its default branch and builds it the same way velixir builds your own code.
velixirnet/template-background-jobsOnce it is live
The template is just a starting point. Clone it, edit it, then ship over the top with the CLI:
velixir deploy
Or add the GitHub Actions workflow from the app's Deploys tab to your repo, and every push to your deploy branch ships a release. Both run the same pipeline this template just went through.