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.
See the code
The modern job scheduler for .NET
Source-generated task scheduling with built-in persistence, cron & time-based execution, and real-time monitoring.
| Zero reflection, AOT ready | Source generators at compile time. No runtime reflection, no magic strings, fully trimmable. |
| Your database | EF Core (PostgreSQL, SQL Server, SQLite, MySQL) or Redis. No separate storage. |
| Real-time dashboard | Built-in SignalR dashboard. Monitor, inspect, manage — no paid add-ons. |
| Multi-node | Redis heartbeats, dead-node cleanup, lock-based coordination. Just add instances. |
| Minimal setup | AddTickerQ() → decorate a method → schedule. Minutes, not hours. |
dotnet add package TickerQ
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddTickerQ();
var app = builder.Build();
app.UseTickerQ();
app.Run();
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}");
}
}
public class MyService(ITimeTickerManager<TimeTickerEntity> manager)
{
public async Task Schedule()
{
await manager.AddAsync(new TimeTickerEntity
{
Function = "HelloWorld",
ExecutionTime = DateTime.UtcNow.AddSeconds(10)
});
}
}
| Package | Description |
|---|---|
TickerQ | Core scheduler engine |
TickerQ.Utilities | Shared types, entities, and interfaces |
TickerQ.EntityFrameworkCore | EF Core persistence provider |
TickerQ.Caching.StackExchangeRedis | Redis persistence and distributed coordination |
TickerQ.Dashboard | Real-time dashboard UI |
TickerQ.Instrumentation.OpenTelemetry | OpenTelemetry tracing |
TickerQ.SourceGenerator | Compile-time function registration |
Note: All packages are versioned together. Always update all packages to the same version.
Centralized scheduling across applications — hub.tickerq.net
Full documentation at tickerq.net — docs are open-source at TickerQ-UI.
Support TickerQ through OpenCollective.
PRs, ideas, and issues are welcome! Please read our Contributing Guide and sign the CLA before submitting a pull request.
Thanks to all our wonderful contributors! See CONTRIBUTORS.md for details.
Dual licensed under MIT and Apache 2.0 © Arcenox LLC
906 followers · starred Jun 2025
169 followers · starred Jan 2026
1,601 followers · starred Jul 2025
39 followers · starred Apr 2025
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.
See the code
The modern job scheduler for .NET
Source-generated task scheduling with built-in persistence, cron & time-based execution, and real-time monitoring.
| Zero reflection, AOT ready | Source generators at compile time. No runtime reflection, no magic strings, fully trimmable. |
| Your database | EF Core (PostgreSQL, SQL Server, SQLite, MySQL) or Redis. No separate storage. |
| Real-time dashboard | Built-in SignalR dashboard. Monitor, inspect, manage — no paid add-ons. |
| Multi-node | Redis heartbeats, dead-node cleanup, lock-based coordination. Just add instances. |
| Minimal setup | AddTickerQ() → decorate a method → schedule. Minutes, not hours. |
dotnet add package TickerQ
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddTickerQ();
var app = builder.Build();
app.UseTickerQ();
app.Run();
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}");
}
}
public class MyService(ITimeTickerManager<TimeTickerEntity> manager)
{
public async Task Schedule()
{
await manager.AddAsync(new TimeTickerEntity
{
Function = "HelloWorld",
ExecutionTime = DateTime.UtcNow.AddSeconds(10)
});
}
}
| Package | Description |
|---|---|
TickerQ | Core scheduler engine |
TickerQ.Utilities | Shared types, entities, and interfaces |
TickerQ.EntityFrameworkCore | EF Core persistence provider |
TickerQ.Caching.StackExchangeRedis | Redis persistence and distributed coordination |
TickerQ.Dashboard | Real-time dashboard UI |
TickerQ.Instrumentation.OpenTelemetry | OpenTelemetry tracing |
TickerQ.SourceGenerator | Compile-time function registration |
Note: All packages are versioned together. Always update all packages to the same version.
Centralized scheduling across applications — hub.tickerq.net
Full documentation at tickerq.net — docs are open-source at TickerQ-UI.
Support TickerQ through OpenCollective.
PRs, ideas, and issues are welcome! Please read our Contributing Guide and sign the CLA before submitting a pull request.
Thanks to all our wonderful contributors! See CONTRIBUTORS.md for details.
Dual licensed under MIT and Apache 2.0 © Arcenox LLC
906 followers · starred Jun 2025
169 followers · starred Jan 2026
1,601 followers · starred Jul 2025
39 followers · starred Apr 2025