Removed hangfire. Added TickerQ

This commit is contained in:
2025-08-19 22:53:12 +02:00
parent 60178dc54b
commit ab92edb008
20 changed files with 1267 additions and 487 deletions

View File

@@ -1,15 +0,0 @@
<div class="alert alert-soft alert-primary border-2 flex items-center p-2.5" role="alert">
<div class="avatar me-2">
<div class="size-7 rounded-full">
<img src="/_content/Moonlight.Client/img/ghost.png" alt="avatar" />
</div>
</div>
<div class="text-primary-content">
@ChildContent
</div>
</div>
@code
{
[Parameter] public RenderFragment ChildContent { get; set; }
}

View File

@@ -10,7 +10,7 @@
@inject DownloadService DownloadService
<div class="mb-5">
<NavTabs Index="4" Names="UiConstants.AdminNavNames" Links="UiConstants.AdminNavLinks" />
<NavTabs Index="3" Names="UiConstants.AdminNavNames" Links="UiConstants.AdminNavLinks" />
</div>
<div class="grid grid-cols-2">

View File

@@ -12,7 +12,7 @@
@inject DownloadService DownloadService
<div class="mb-5">
<NavTabs Index="5" Names="UiConstants.AdminNavNames" Links="UiConstants.AdminNavLinks"/>
<NavTabs Index="4" Names="UiConstants.AdminNavNames" Links="UiConstants.AdminNavLinks"/>
</div>
<div class="grid grid-cols-2">

View File

@@ -1,48 +0,0 @@
@page "/admin/system/hangfire"
@using Microsoft.AspNetCore.Authorization
@using MoonCore.Helpers
@using Moonlight.Shared.Http.Responses.Admin.Hangfire
@using Moonlight.Client.UI.Components
@attribute [Authorize(Policy = "permissions:admin.system.hangfire")]
@inject HttpApiClient ApiClient
<div class="mb-5">
<NavTabs Index="3" Names="UiConstants.AdminNavNames" Links="UiConstants.AdminNavLinks"/>
</div>
<div class="mb-5">
<HelperMessage>
Hangfire is used to run scheduled and repeating tasks scalable via multiple instances. Here you can see a bunch of stats of the integrated hangfire instance
</HelperMessage>
</div>
<LazyLoader Load="Load">
<div class="grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-4 gap-5">
<StatCard Title="Servers" Text="@Stats.Servers.ToString()" Icon="icon-server"/>
<StatCard Title="Recurring" Text="@Stats.Recurring.ToString()" Icon="icon-calendar-sync"/>
<StatCard Title="Enqueued" Text="@Stats.Enqueued.ToString()" Icon="icon-list-end"/>
<StatCard Title="Queues" Text="@Stats.Queues.ToString()" Icon="icon-logs"/>
<StatCard Title="Scheduled" Text="@Stats.Scheduled.ToString()" Icon="icon-calendar-check-2"/>
<StatCard Title="Processing" Text="@Stats.Processing.ToString()" Icon="icon-pickaxe"/>
<StatCard Title="Succeeded" Text="@Stats.Succeeded.ToString()" Icon="icon-check-check"/>
<StatCard Title="Failed" Text="@Stats.Failed.ToString()" Icon="icon-ban"/>
<StatCard Title="Deleted" Text="@Stats.Deleted.ToString()" Icon="icon-trash-2"/>
<StatCard Title="Retries" Text="@(Stats.Retries?.ToString() ?? "-")" Icon="icon-rotate-ccw"/>
<StatCard Title="Awaiting" Text="@(Stats.Awaiting?.ToString() ?? "-")" Icon="icon-loader"/>
</div>
</LazyLoader>
@code
{
private HangfireStatsResponse Stats;
private async Task Load(LazyLoader _)
{
Stats = await ApiClient.GetJson<HangfireStatsResponse>(
"api/admin/system/hangfire/stats"
);
}
}