EverTask

EverTask Documentation

NuGet Downloads License


EverTask is a .NET background task execution library focused on persistence and resilience. Use it to process work in the background, run scheduled jobs, and build task pipelines that survive failures and restarts.

Quick Example

// 1. Register in Program.cs
builder.Services.AddEverTask(opt =>
    opt.RegisterTasksFromAssembly(typeof(Program).Assembly)
).AddSqlServerStorage(connectionString);

// 2. Define your task
public record SendEmailTask(string To, string Subject) : IEverTask;

// 3. Define your handler
public class SendEmailHandler : EverTaskHandler<SendEmailTask>
{
    public override async Task Handle(SendEmailTask task, CancellationToken ct)
    {
        await _emailService.SendAsync(task.To, task.Subject);
    }
}

// 4. Dispatch anywhere
await _dispatcher.Dispatch(new SendEmailTask("user@example.com", "Hello!"));

With those four steps in place, EverTask persists the task, executes it in the background, and retries it if the handler throws. See Getting Started for the details.

Table of Contents

Getting Started

Core Concepts

Advanced Topics

Tooling

  • Agent Skill - AI-assisted integration: install the skill and let an agent wire up EverTask (one-step on Claude Code)

Support

For questions, bug reports, or contributions, use the GitHub Issues page.


Copyright © 2025 Giampaolo Gabba. Distributed under the APACHE 2.0 License.

This site uses Just the Docs, a documentation theme for Jekyll.