SquidStd.Workers
0.7.0
dotnet add package SquidStd.Workers --version 0.7.0
NuGet\Install-Package SquidStd.Workers -Version 0.7.0
<PackageReference Include="SquidStd.Workers" Version="0.7.0" />
<PackageVersion Include="SquidStd.Workers" Version="0.7.0" />
<PackageReference Include="SquidStd.Workers" />
paket add SquidStd.Workers --version 0.7.0
#r "nuget: SquidStd.Workers, 0.7.0"
#:package SquidStd.Workers@0.7.0
#addin nuget:?package=SquidStd.Workers&version=0.7.0
#tool nuget:?package=SquidStd.Workers&version=0.7.0
<p align="center"> <img src="https://raw.githubusercontent.com/tgiachi/squid-std/main/assets/icon.png" alt="SquidStd" width="120" height="120" /> </p>
<h1 align="center">SquidStd.Workers</h1>
<p align="center"> <a href="https://www.nuget.org/packages/SquidStd.Workers/"><img src="https://img.shields.io/nuget/v/SquidStd.Workers.svg" alt="NuGet" /></a> <img src="https://img.shields.io/nuget/dt/SquidStd.Workers.svg" alt="Downloads" /> <a href="https://tgiachi.github.io/squid-std/articles/workers.html"><img src="https://img.shields.io/badge/docs-DocFX-1390A3.svg" alt="docs" /></a> <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" /> </p>
The SquidStd worker runtime. Consumes JobRequests from the jobs queue, dispatches each to a named
IJobHandler (up to MaxConcurrency in parallel), and publishes a WorkerHeartbeat on the heartbeat topic
every few seconds.
Install
dotnet add package SquidStd.Workers
Usage
using DryIoc;
using SquidStd.Generators.Workers;
using SquidStd.Workers.Attributes;
using SquidStd.Workers.Extensions;
container.AddInMemoryMessaging(); // or AddRabbitMqMessaging(...)
container.AddWorkers();
container.RegisterGeneratedJobHandlers();
[RegisterJobHandler]
public sealed class ResizeImageHandler : IJobHandler
{
public string JobName => "resize-image";
public Task HandleAsync(JobRequest job, CancellationToken cancellationToken)
{
// job.Parameters["width"], ...
return Task.CompletedTask;
}
}
Key types
| Type | Purpose |
|---|---|
IJobHandler |
Handles jobs of one named kind. |
WorkersConfig |
WorkerId, HeartbeatIntervalSeconds, MaxConcurrency, queue/topic names. |
RegisterJobHandlerAttribute |
Marks handlers for generated registration. |
WorkersRegistrationExtensions |
AddWorkers() and AddJobHandler<T>(). |
License
MIT — part of SquidStd.
| 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
- SquidStd.Messaging.Abstractions (>= 0.7.0)
- SquidStd.Workers.Abstractions (>= 0.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.