@page "/queue/job/{id::guid:required}" @using System.Text.Json @using System.Text.Json.Nodes @using System.Text.Json.Serialization @using Iceshrimp.Backend.Core.Database.Tables @using Iceshrimp.Backend.Core.Extensions @model QueueJobModel @{ ViewData["title"] = $"Job details - {Model.InstanceName}"; } @section head { } @section scripts { }
ID | @Model.Job.Id.ToStringLower() |
Queue | @Model.Job.Queue |
Status | @status |
Actions | Retry |
Actions | @abandonName |
Queued at | @Model.Job.QueuedAt.ToLocalTime().ToDisplayStringTz() |
Started at | @(Model.Job.StartedAt?.ToLocalTime().ToDisplayStringTz() ?? " |
Finished at | @(Model.Job.FinishedAt?.ToLocalTime().ToDisplayStringTz() ?? " |
Delayed until | @(Model.Job.DelayedUntil?.ToLocalTime().ToDisplayStringTz() ?? " |
Duration | @Model.Job.Duration.ToDurationDisplayString() |
Queue duration | @Model.Job.QueueDuration.ToDurationDisplayString() |
Retry count | @Model.Job.RetryCount |
Exception message | @Model.Job.ExceptionMessage |
Exception source | @Model.Job.ExceptionSource |
@Model.Job.StackTrace
}
@if (Model.Job.Exception != null)
{
@Model.Job.Exception
}
@dataJson
@payloadJson
}
else
{
var json = JsonNode.Parse(Model.Job.Data)?.ToJsonString(payloadOpts) ??
throw new Exception($"Failed to serialize {Model.Job.Queue} job data");
@json
}
}