BackWave 1.1.0
See the version list below for details.
dotnet add package BackWave --version 1.1.0
NuGet\Install-Package BackWave -Version 1.1.0
<PackageReference Include="BackWave" Version="1.1.0" />
<PackageVersion Include="BackWave" Version="1.1.0" />
<PackageReference Include="BackWave" />
paket add BackWave --version 1.1.0
#r "nuget: BackWave, 1.1.0"
#:package BackWave@1.1.0
#addin nuget:?package=BackWave&version=1.1.0
#tool nuget:?package=BackWave&version=1.1.0
BackWave
Deterministic background jobs for .NET. This package is the engine: the job model, the Storage
Contract, the In-Memory Store, and the source generator that turns a [Job] method into a typed
payload, handler, wire format, and registry. It writes the serialization for you, with no reflection
at runtime.
It's deterministic by design. The same inputs always produce the same schedule, so a year of cron behavior tests in milliseconds and never flakes.
using BackWave.Jobs;
public sealed class InvoiceJobs(IInvoiceGateway gateway)
{
// The generator emits the SendInvoice payload, its IJobHandler, the wire format, and the
// registry from this one signature. The declaring class is resolved from DI, so anything you
// inject here is available to the job body.
[Job("send-invoice", Queue = "billing")]
public Task SendInvoiceAsync(string orderId, JobContext context, CancellationToken ct)
=> gateway.SendAsync(orderId, ct);
}
What's in the box
- Core engine: the sans-IO Driver, routing, retries, leases, and scheduling.
- Storage Contract (
IJobStore): the seam every durable adapter implements. - In-Memory Store: zero-infra and in-process, the default for tests and getting started.
[Job]source generator: bundled in this package, feeding the compiler only.
Running jobs
This package defines and stores jobs; to run them in an app, add a Shell:
dotnet add package BackWave.Hosting
Then wire up worker groups and enqueue through BackWaveClient. For durability beyond a single
process, add a storage adapter: BackWave.Postgres, BackWave.SqlServer, or BackWave.Sqlite.
To test job behavior over time without any infrastructure, add BackWave.Testing.
Full documentation and guides: https://backwave.app
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (9)
Showing the top 5 NuGet packages that depend on BackWave:
| Package | Downloads |
|---|---|
|
BackWave.Pro
BackWave Pro: revenue-gated add-on features (Workflows). Free to use under $1M annual revenue; a license is required above that. |
|
|
BackWave.Dashboard
Read-only monitoring dashboard for BackWave: jobs, queues, failures, schedules, and observers, rendered server-side with zero static assets to host. |
|
|
BackWave.Hosting
Hosting Shell for BackWave: DI registration, Worker Group hosted services, fail-stop health. |
|
|
BackWave.Postgres
Postgres storage adapter for BackWave: versioned SQL schema, FOR UPDATE SKIP LOCKED claims, Transactional Enqueue. |
|
|
BackWave.Sqlite
SQLite storage adapter for BackWave, the first Embedded Adapter (single host, WAL + BEGIN IMMEDIATE whole-writer serialization, co-resident Transactional Enqueue). |
GitHub repositories
This package is not used by any popular GitHub repositories.
Release notes and upgrade guidance: https://backwave.app/