Runwick 0.1.3
dotnet add package Runwick --version 0.1.3
NuGet\Install-Package Runwick -Version 0.1.3
<PackageReference Include="Runwick" Version="0.1.3" />
<PackageVersion Include="Runwick" Version="0.1.3" />
<PackageReference Include="Runwick" />
paket add Runwick --version 0.1.3
#r "nuget: Runwick, 0.1.3"
#:package Runwick@0.1.3
#addin nuget:?package=Runwick&version=0.1.3
#tool nuget:?package=Runwick&version=0.1.3
Runwick
Runwick is a background-job library for .NET 10. Jobs are stored in PostgreSQL, SQLite or Redis and run by workers inside your application or in separate processes. It includes schedules, retries, rate limits, uniqueness, a transactional outbox, a management API, a web dashboard and a command line.
[JobName("email.welcome")]
public sealed record SendWelcomeEmail(Guid UserId) : IQueueJob;
builder.Services.AddRunwick(runwick =>
{
runwick.Application("my-app")
.UsePostgres(connectionString) // or UseSqlite(...) or UseRedis(...)
.AddJobsFromAssemblyContaining<SendWelcomeEmail>();
runwick.AddHandler<SendWelcomeEmail, SendWelcomeEmailHandler>();
runwick.AddWorker(w => w.Pool("main", p => p.Queues("default").FixedConcurrency(4)));
});
await dispatcher.DispatchAsync(new SendWelcomeEmail(userId));
- Delivery is at-least-once. Make handlers safe to run twice, or use idempotency keys.
- Cancellation is cooperative: a running handler is asked to stop through its cancellation token.
- Exactly-once effects exist only for work done in the same database as the job (transactional completion).
Documentation: https://github.com/adzamkomladev/runwick (start with docs/guide/getting-started.md). Licence: MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- Cronos (>= 0.13.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Options (>= 10.0.14)
- NodaTime (>= 3.3.7)
- Runwick.Contracts (>= 0.1.3)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Runwick:
| Package | Downloads |
|---|---|
|
Runwick.Outbox
Runwick transactional outbox: staging contracts and the relay that delivers through ReceiveOutbox/1. |
|
|
Runwick.Sqlite
Runwick SQLite store (single host, one database file) built on Microsoft.Data.Sqlite. |
|
|
Runwick.AspNetCore
Runwick management API over ASP.NET Core: authenticated, permission-checked /v1 endpoints for the management session. |
|
|
Runwick.Postgres
Runwick PostgreSQL store (PostgreSQL 16-18) built on Npgsql. |
|
|
Runwick.Redis
Runwick Redis store (one primary under appendonly + appendfsync always) built on StackExchange.Redis. |
GitHub repositories
This package is not used by any popular GitHub repositories.