Add ProcessFailedAt/ProcessErrorMessage to Asset plus a filtered index. All 'missing' queries now exclude broken assets so failed images are not re-processed indefinitely. Thumbnail/Preview/PHash/Metadata jobs mark the asset broken on failure via a shared helper. AssetPreviewDto now carries the broken state for the maintenance report. Refs #180
20 lines
660 B
C#
20 lines
660 B
C#
using Lactose.Models;
|
|
|
|
namespace Lactose.Jobs;
|
|
|
|
/// <summary>
|
|
/// Shared helpers for background processing jobs.
|
|
/// </summary>
|
|
internal static class JobHelpers {
|
|
/// <summary>
|
|
/// Marks an asset as broken (processing failed) so it is excluded from re-processing
|
|
/// until an admin explicitly retries it.
|
|
/// </summary>
|
|
/// <param name="asset">The asset to mark broken.</param>
|
|
/// <param name="message">A human-readable error message describing the failure.</param>
|
|
internal static void MarkBroken(Asset asset, string message) {
|
|
asset.ProcessFailedAt = DateTime.UtcNow;
|
|
asset.ProcessErrorMessage = message;
|
|
}
|
|
}
|