TickerQ 10.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package TickerQ --version 10.0.1
                    
NuGet\Install-Package TickerQ -Version 10.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TickerQ" Version="10.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TickerQ" Version="10.0.1" />
                    
Directory.Packages.props
<PackageReference Include="TickerQ" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TickerQ --version 10.0.1
                    
#r "nuget: TickerQ, 10.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TickerQ@10.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TickerQ&version=10.0.1
                    
Install as a Cake Addin
#tool nuget:?package=TickerQ&version=10.0.1
                    
Install as a Cake Tool

<h1 align="center">TickerQ</h1>

<p align="center"> <img src="https://tickerq.net/tickerq-logo.png" alt="TickerQ Logo" width="200" /> </p>

Discord Community

NuGet NuGet Build NuGet Packages Documentation alternate text is missing from this package README image

Robust. Adaptive. Precise.
TickerQ is a fast, reflection-free background task scheduler for .NET โ€” built with source generators, EF Core integration, cron + time-based execution, and a real-time dashboard.

๐Ÿ“š Full Docs: https://tickerq.net

(Docs are open-source and anyone can help us improving Documentation Repository

Note: All TickerQ packages are versioned together โ€” even if a package has no changes โ€” to keep the ecosystem in sync. Always update all packages to the same version.

Important: The entire 2.* package line is deprecated, considered legacy, and is no longer maintained. For all current and future development, use the .NET 8+ versions of TickerQ.


โœจ Features

  • Time and cron scheduling for one-off and recurring jobs
  • Reflection-free core with source-generated job handlers
  • EF Core persistence for jobs, state, and history
  • Live Dashboard UI - View Screenshots
  • Retry policies & throttling for robust execution
  • First-class dependency injection support
  • Multi-node distributed coordination (via Redis heartbeats and dead-node cleanup)

Quick Start

Get up and running with TickerQ in under 5 minutes.

Prerequisites

  • .NET 8.0 or later
  • A .NET project (Console, Web API, or ASP.NET Core)

Step 1: Install TickerQ

dotnet add package TickerQ

Step 2: Register Services

Add TickerQ to your Program.cs:

using TickerQ.DependencyInjection;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddTickerQ();

var app = builder.Build();
app.UseTickerQ(); // Activate job processor
app.Run();

Step 3: Create a Job Function

Create a job function with the [TickerFunction] attribute:

using TickerQ.Utilities.Base;

public class MyJobs
{
    [TickerFunction("HelloWorld")]
    public async Task HelloWorld(
        TickerFunctionContext context,
        CancellationToken cancellationToken)
    {
        Console.WriteLine($"Hello from TickerQ! Job ID: {context.Id}");
        Console.WriteLine($"Scheduled at: {DateTime.UtcNow:HH:mm:ss}");
    }
}

Step 4: Schedule the Job

Inject the manager and schedule your job:

using TickerQ.Utilities.Entities;
using TickerQ.Utilities.Interfaces.Managers;

public class MyService
{
    private readonly ITimeTickerManager<TimeTickerEntity> _timeTickerManager;
    
    public MyService(ITimeTickerManager<TimeTickerEntity> timeTickerManager)
    {
        _timeTickerManager = timeTickerManager;
    }
    
    public async Task ScheduleJob()
    {
        var result = await _timeTickerManager.AddAsync(new TimeTickerEntity
        {
            Function = "HelloWorld",
            ExecutionTime = DateTime.UtcNow.AddSeconds(10) // Run in 10 seconds
        });
        
        if (result.IsSucceeded)
        {
            Console.WriteLine($"Job scheduled! ID: {result.Result.Id}");
        }
    }
}

Step 5: Run Your Application

dotnet run

Wait 10 seconds and you should see:

Job scheduled! ID: {guid}
Hello from TickerQ! Job ID: {guid}
Scheduled at: {time}

๐Ÿ’– Sponsors & Backers

We want to acknowledge the individuals and organizations who support the development of TickerQ through OpenCollective. Your contributions help us maintain and grow this project. If you'd like to support, check out the tiers below and join the community!

Become a Sponsor or Backer on OpenCollective


๐Ÿ† Gold Sponsors

Become a gold sponsor and get your logo here with a link to your site.


๐Ÿฅˆ Silver Sponsors

Become a silver sponsor and get your logo here with a link to your site.


๐Ÿฅ‰ Bronze Sponsors

Become a bronze sponsor and get your logo here with a link to your site.


๐Ÿ™Œ Backers

Become a backer and get your image on our README on GitHub with a link to your site.

<a href="https://opencollective.com/tickerq/backer/0/website?requireActive=false" target="_blank"><img width="30" src="https://opencollective.com/tickerq/backer/0/avatar.svg?requireActive=false"></a>

๐Ÿค Contribution

PRs, ideas, and issues are welcome!

  1. Fork & branch
  2. Code your change
  3. Submit a Pull Request

๐Ÿ“„ License

MIT OR Apache 2.0 ยฉ Arcenox
You may choose either license to use this software.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on TickerQ:

Package Downloads
ZhileTime.Hope.TickerQ

Package Description

Sparkdo.TickerQ

Sparkdo TickerQ ๅบ“๏ผŒๆไพ›ๅŸบไบŽ TickerQ ็š„ๅฎšๆ—ถไปปๅŠกๅŠŸ่ƒฝ้›†ๆˆๅฎž็Žฐ

Sparkdo.BackgroundWorkers.TickerQ

Sparkdo TickerQ ๅŽๅฐๅทฅไฝœ่€…ๅบ“๏ผŒๆไพ›ๅŸบไบŽ TickerQ ็š„ๅŽๅฐๅทฅไฝœ่€…ๅŠŸ่ƒฝ้›†ๆˆๅฎž็Žฐ

Sparkdo.BackgroundJobs.TickerQ

Sparkdo TickerQ ๅŽๅฐไฝœไธšๅบ“๏ผŒๆไพ›ๅŸบไบŽ TickerQ ็š„ๅŽๅฐไฝœไธšๅŠŸ่ƒฝ้›†ๆˆๅฎž็Žฐ

Paramore.Brighter.MessageScheduler.TickerQ

TikcerQ integration for Paramore.Brighter Command Processor. Provides advanced message scheduling capabilities using TikcerQ for background job processing, delayed message delivery, and complex recurring task scheduling.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on TickerQ:

Repository Stars
Arcenox-co/TickerQ
TickerQ is a fast, reflection-free background task scheduler for .NET โ€” built with source generators, EF Core integration, cron + time-based execution, and a real-time dashboard.
foxminchan/BookWorm
The practical implementation of Aspire using Microservices, AI-Agents
Version Downloads Last Updated
10.0.2 37 12/10/2025
10.0.1 2,768 11/27/2025
10.0.0 1,695 11/23/2025
10.0.0-beta.19 145 11/23/2025
10.0.0-beta.18 543 11/20/2025
10.0.0-beta.17 515 11/17/2025
10.0.0-beta.16 261 11/16/2025
9.0.2 23 12/10/2025
9.0.1 1,234 11/27/2025
9.0.0 2,263 11/23/2025
9.0.0-beta.19 140 11/23/2025
9.0.0-beta.18 503 11/20/2025
9.0.0-beta.17 674 11/17/2025
9.0.0-beta.15 266 11/14/2025
9.0.0-beta.14 1,496 11/11/2025
9.0.0-beta.13 373 11/11/2025
9.0.0-beta.12 266 11/10/2025
9.0.0-beta.11 204 11/9/2025
9.0.0-beta.1 423 11/5/2025
8.0.2 25 12/10/2025
8.0.1 541 11/27/2025
8.0.0 1,145 11/23/2025
8.0.0-beta.19 137 11/23/2025
8.0.0-beta.18 372 11/20/2025
8.0.0-beta.17 415 11/17/2025
8.0.0-beta.16 188 11/16/2025
8.0.0-beta.15 195 11/14/2025
8.0.0-beta.14 503 11/12/2025
8.0.0-beta.13 245 11/11/2025
8.0.0-beta.12 217 11/10/2025
8.0.0-beta.11 189 11/10/2025
8.0.0-beta.10 152 11/7/2025
8.0.0-beta.9 120 11/7/2025
8.0.0-beta.8 149 11/6/2025
8.0.0-beta.6 211 11/4/2025
8.0.0-beta.5 161 11/3/2025
8.0.0-beta.4 143 11/3/2025
8.0.0-beta.3 141 11/3/2025
8.0.0-beta.2 149 11/3/2025
8.0.0-beta.1 275 10/31/2025
2.5.3 61,652 9/2/2025
2.5.3-preview 1,531 8/19/2025
2.5.2 4,022 8/27/2025
2.5.1 6,127 8/20/2025
2.5.0 1,707 8/20/2025
2.4.4 10,960 8/7/2025
2.4.3 3,367 8/6/2025
2.4.2 1,909 8/3/2025
2.4.1 545 8/2/2025
2.4.0 1,375 8/1/2025
2.3.0 1,374 7/7/2025
2.2.2 500 6/28/2025
2.2.2-preview 165 6/26/2025
2.2.1 436 6/24/2025
2.2.1-preview-1 161 6/24/2025
2.2.1-preview 175 6/24/2025
2.2.0 1,982 6/16/2025
2.2.0-preview 181 6/17/2025
2.1.7-preview 214 6/16/2025
2.1.6-preview 182 6/16/2025
2.1.5 178 6/16/2025
2.1.3 182 6/14/2025
2.1.1 423 6/7/2025
2.1.0 222 5/23/2025
2.0.1 565 4/25/2025
2.0.0 525 4/19/2025