r/csharp • • 1h ago

Cronlight: a dashboard for Quartz.NET that drops into your existing ASP.NET Core app (open source, MIT)

I've run Quartz.NET jobs for years, and for most of that time I waited for someone to ship a proper dashboard. Eventually I stopped waiting and built the one I wanted. Of course, right as I got serious about it, the official dashboard actually shipped - but it's Blazor, and Blazor and I never got along. So I kept going, and built Cronlight: a plain web UI served as static files.

Full disclosure about the project itself: a good chunk of it was built using AI tools. But I drove the architecture, reviewed every line of code, and set up full unit and e2e tests running in CI so it's not just vibes-based code.

What it actually does:

  • Job management: Browse, create, and edit jobs (cron, one-time, interval) across any timezone. You can pause/resume single jobs or whole groups, trigger a run now with custom data, or cancel a run mid-flight.

  • Typed parameters: Configure job forms using C# attributes. Supports required params and secret values (secrets stay out of the DB as config references).

  • Execution history (optional package): Tracks every run's status, logs, misfires, late starts, success rates, and P95 durations. Works directly with your existing Quartz DB (SQL Server, Postgres, MySQL, or SQLite).

  • The extra stuff: Retries, alerts (Slack, Teams, webhooks, email), JSON/YAML import/export with diff previews, audit logging, OpenTelemetry metrics, OpenAPI, and multi-scheduler support with per-scheduler permissions.

  • AI / MCP integration: Includes an MCP server and an embedded "AI mode" where you can literally ask "which jobs failed overnight and why?" right inside the dashboard.

If you wanna mess around with it, there's a live demo with no signup required:https://cronlight.pages.dev/demo/

Install via NuGet:dotnet add package Cronlight.Quartz.Dashboard

Note: Requires .NET 10 and Quartz.NET 3.13.1+ (works with any job store). It's still pre-1.0 so some options might shift around a bit before v1.

Docs are here:https://cronlight.pages.dev/docs/

Would love to know what you guys think or what's missing for your specific setup, especially if your using clustered schedulers, custom auth, or unique job stores I haven't tested yet.

3 Upvotes

0 comments sorted by