Added hangfire. Implemented hangfire statistics. Updated lucide icons

This commit is contained in:
2025-04-09 20:24:31 +02:00
parent 7fa46ef245
commit 55bc825cb7
12 changed files with 1157 additions and 9 deletions

View File

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

View File

@@ -0,0 +1,42 @@
@page "/admin/system/hangfire"
@using MoonCore.Attributes
@using MoonCore.Helpers
@using Moonlight.Shared.Http.Responses.Admin.Hangfire
@using Moonlight.Client.UI.Components
@attribute [RequirePermission("admin.system.hangfire")]
@inject HttpApiClient ApiClient
<div class="mb-3">
<NavTabs Index="3" Names="UiConstants.AdminNavNames" Links="UiConstants.AdminNavLinks"/>
</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"
);
}
}