Introduction
GUSTO is a small background job worker for .NET. It serializes a method call into a record, asks your storage provider for runnable records, invokes those methods through dependency injection, and reports the outcome back to the provider.
| Package | ByteBard.GUSTO |
| Runtime targets | .NET 8, .NET 9, and .NET 10 |
| Source | ByteBardOrg/GUSTO |
| License | MIT |
| Maintainer | ByteBard |
The runner is the part supplied by GUSTO. The storage model and queue behavior are extension points implemented by your application.
What the package does
- Registers a hosted worker with the .NET host.
- Turns strongly typed method expressions into job records.
- Polls your provider for eligible jobs.
- Runs jobs concurrently, with a configurable timeout.
- Marks successful jobs complete through your provider.
- Passes failed executions back to your provider.
- Emits OpenTelemetry traces and metrics.
What your application does
- Defines the persisted job record.
- Implements storage and retrieval.
- Makes work claiming safe for the number of workers you run.
- Decides whether failures are retried, abandoned, or dead-lettered.
- Adds concepts such as priority, tenancy, batches, or continuations if needed.
The examples section adds batching, continuations, and recurring jobs by extending the record and provider. They demonstrate how to build on GUSTO without changing the runner.
Documentation structure
The guide adds one part at a time:
- Learn the core concepts and the boundary between library and application.
- Run a first job with the smallest useful record and provider.
- Enqueue and schedule jobs.
- Replace the sample provider with persistence suited to your deployment.
- Add failure handling, telemetry, tests, and application-specific extensions.
These docs follow the repository's main branch. NuGet releases may lag behind it, so check the package version when working with version-sensitive APIs. Every page links to editable source. If the docs and implementation disagree, please open an issue.