# TickerQ **Repository Path**: leeinc/TickerQ ## Basic Information - **Project Name**: TickerQ - **Description**: No description available - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-05-12 - **Last Updated**: 2026-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

TickerQ Logo
TickerQ

The modern job scheduler for .NET
Source-generated task scheduling with built-in persistence, cron & time-based execution, and real-time monitoring.

NuGet Downloads NuGet Version Build Status Documentation Discord OpenCollective

--- ## Why TickerQ? | | | |---|---| | **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. | ## Features - **Time & cron scheduling** — one-off and recurring jobs - **Source-generated** — compile-time function registration for maximum performance - **Dual persistence** — EF Core (PostgreSQL, SQL Server, SQLite, MySQL) or Redis - **Live dashboard** — real-time UI with SignalR — [screenshots](https://tickerq.net/features/dashboard.html#dashboard-screenshots) - **Retry & throttling** — configurable retry policies with backoff - **Dependency injection** — first-class DI support - **Multi-node** — distributed coordination via Redis heartbeats and dead-node cleanup - **Hub** — centralized scheduling across applications via [TickerQ Hub](https://hub.tickerq.net) ## Quick Start ```bash dotnet add package TickerQ ``` ### 1. Register services ```csharp var builder = WebApplication.CreateBuilder(args); builder.Services.AddTickerQ(); var app = builder.Build(); app.UseTickerQ(); app.Run(); ``` ### 2. Create a job ```csharp 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}"); } } ``` ### 3. Schedule it ```csharp public class MyService(ITimeTickerManager manager) { public async Task Schedule() { await manager.AddAsync(new TimeTickerEntity { Function = "HelloWorld", ExecutionTime = DateTime.UtcNow.AddSeconds(10) }); } } ``` ## Packages | Package | Description | |---------|------------| | [`TickerQ`](https://www.nuget.org/packages/TickerQ) | Core scheduler engine | | [`TickerQ.Utilities`](https://www.nuget.org/packages/TickerQ.Utilities) | Shared types, entities, and interfaces | | [`TickerQ.EntityFrameworkCore`](https://www.nuget.org/packages/TickerQ.EntityFrameworkCore) | EF Core persistence provider | | [`TickerQ.Caching.StackExchangeRedis`](https://www.nuget.org/packages/TickerQ.Caching.StackExchangeRedis) | Redis persistence and distributed coordination | | [`TickerQ.Dashboard`](https://www.nuget.org/packages/TickerQ.Dashboard) | Real-time dashboard UI | | [`TickerQ.Instrumentation.OpenTelemetry`](https://www.nuget.org/packages/TickerQ.Instrumentation.OpenTelemetry) | OpenTelemetry tracing | | [`TickerQ.SourceGenerator`](https://www.nuget.org/packages/TickerQ.SourceGenerator) | Compile-time function registration | > **Note:** All packages are versioned together. Always update all packages to the same version. ## TickerQ Hub Centralized scheduling across applications — [hub.tickerq.net](https://hub.tickerq.net) ## Documentation Full documentation at **[tickerq.net](https://tickerq.net)** — docs are open-source at [TickerQ-UI](https://github.com/Arcenox-co/TickerQ-UI). ## Sponsors & Backers Support TickerQ through [OpenCollective](https://opencollective.com/tickerq). ## Contributing PRs, ideas, and issues are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) and sign the [CLA](CLA.md) before submitting a pull request. ## Contributors Thanks to all our wonderful contributors! See [CONTRIBUTORS.md](CONTRIBUTORS.md) for details. ## License Dual licensed under **MIT** and **Apache 2.0** © [Arcenox LLC](https://arcenox.com)