ToolWheel.Extensions.JobManager.API
1.0.0-preview6
dotnet add package ToolWheel.Extensions.JobManager.API --version 1.0.0-preview6
NuGet\Install-Package ToolWheel.Extensions.JobManager.API -Version 1.0.0-preview6
<PackageReference Include="ToolWheel.Extensions.JobManager.API" Version="1.0.0-preview6" />
<PackageVersion Include="ToolWheel.Extensions.JobManager.API" Version="1.0.0-preview6" />
<PackageReference Include="ToolWheel.Extensions.JobManager.API" />
paket add ToolWheel.Extensions.JobManager.API --version 1.0.0-preview6
#r "nuget: ToolWheel.Extensions.JobManager.API, 1.0.0-preview6"
#:package ToolWheel.Extensions.JobManager.API@1.0.0-preview6
#addin nuget:?package=ToolWheel.Extensions.JobManager.API&version=1.0.0-preview6&prerelease
#tool nuget:?package=ToolWheel.Extensions.JobManager.API&version=1.0.0-preview6&prerelease
ToolWheel.Extensions.JobManager.API
ASP.NET Core controllers and a typed HTTP client for the ToolWheel Job Manager REST API. This package provides the server-side endpoints for monitoring and controlling jobs, as well as the client-side extension methods for consuming them remotely.
Package Info
| Property | Value |
|---|---|
| Target Framework | net8.0 |
| NuGet Package ID | ToolWheel.Extensions.JobManager.API |
| Project References | ToolWheel.Extensions.JobManager, ToolWheel.Extensions.JobManager.Abstractions.API |
| Package Dependencies | Microsoft.AspNetCore.Mvc, Refit |
REST Endpoints
Jobs � JobController
| Method | Route | Description |
|---|---|---|
GET |
/api/job |
Returns all registered jobs. |
GET |
/api/job/{jobId} |
Returns a single job by ID. |
PUT |
/api/job |
Updates name, description and enabled-flag of a job. |
POST |
/api/job/{jobId}/execute |
Triggers execution of a job; returns the created JobTask. |
Job Tasks � JobTaskController
| Method | Route | Description |
|---|---|---|
GET |
/api/job/tasks |
Returns all job tasks across all jobs. |
GET |
/api/job/{jobId}/task |
Returns all tasks for a specific job. |
GET |
/api/job/{jobId}/task/{taskId} |
Returns a single task by job ID and task ID. |
Server Usage
Reference this package together with ToolWheel.Extensions.JobManager.Abstractions.API and call UseJobManagerRestApi on the host builder:
Host.CreateDefaultBuilder(args)
.UseJobManagerRestApi(listenPort: 8080)
.ConfigureServices(services =>
{
services.AddJobManager(configure =>
{
configure.ConfigureJobs(jobs =>
{
jobs.Add("my-job", new MyWorker().DoWork)
.Name("My Job")
.Enabled();
});
});
})
.Build()
.Run();
Client Usage
Use JobManagerClient from ToolWheel.Extensions.JobManager.Abstractions.API together with the extension methods from this package:
var client = new JobManagerClient("http://localhost:8080");
// Jobs
IEnumerable<JobModel> jobs = await client.ReadJobsAsync();
JobModel job = await client.ReadJobAsync("my-job");
// Update (name, description, enabled)
job.Enabled = false;
JobModel updated = await client.UpdateAsync(job);
// Execute
JobTaskModel task = await client.ExecuteAsync("my-job");
// Tasks
IEnumerable<JobTaskModel> allTasks = await client.ReadJobTasksAsync();
IEnumerable<JobTaskModel> jobTasks = await client.ReadJobTasksAsync("my-job");
Models
JobModel
| Property | Type | Description |
|---|---|---|
JobId |
string |
Unique identifier of the job (read-only). |
Name |
string |
Display name. |
Description |
string |
Short description. |
Enabled |
bool |
Whether the job is enabled. |
JobTaskModel
Represents a single execution instance of a job with its current status, result and journal entries.
DTOs
Internal DTOs (JobGetDto, JobPutDto, JobTaskGetDto, JobConditionStatusDto) are used for JSON serialisation between server and client. The DtoConverter class maps between DTOs and the domain models (JobModel, JobTaskModel).
| 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 was computed. 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
- ToolWheel.Extensions.JobManager.Abstractions (>= 1.0.0-preview6)
- ToolWheel.Extensions.JobManager.Abstractions.API (>= 1.0.0-preview6)
-
net8.0
- ToolWheel.Extensions.JobManager.Abstractions (>= 1.0.0-preview6)
- ToolWheel.Extensions.JobManager.Abstractions.API (>= 1.0.0-preview6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-preview6 | 51 | 3/26/2026 |