2026-10-01 11:09:35 +02:00
|
|
|
using MongoDB.Entities;
|
|
|
|
|
|
|
|
|
|
namespace PrivaPub.Models.Jobs
|
|
|
|
|
{
|
|
|
|
|
public class Job : Entity
|
|
|
|
|
{
|
|
|
|
|
public JobKind Kind { get; set; }
|
|
|
|
|
public JobState State { get; set; }
|
|
|
|
|
public string Payload { get; set; }
|
|
|
|
|
public string Host { get; set; }
|
|
|
|
|
public string DedupeKey { get; set; }
|
|
|
|
|
public int Attempts { get; set; }
|
|
|
|
|
public DateTime RunAt { get; set; } = DateTime.UtcNow;
|
|
|
|
|
public DateTime? LeasedUntil { get; set; }
|
|
|
|
|
public string LeaseOwner { get; set; }
|
|
|
|
|
public string LastError { get; set; }
|
|
|
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
|
public DateTime? FinishedAt { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum JobKind
|
|
|
|
|
{
|
|
|
|
|
Deliver,
|
2026-10-01 11:37:41 +02:00
|
|
|
ProcessInbox,
|
2026-10-01 17:49:22 +02:00
|
|
|
FetchAncestors,
|
2026-10-01 18:35:20 +02:00
|
|
|
DescribeInstance,
|
|
|
|
|
PollRefresh,
|
2026-10-01 18:43:39 +02:00
|
|
|
PollClose,
|
2026-10-03 11:30:14 +02:00
|
|
|
FetchPreview,
|
|
|
|
|
RollupDay
|
2026-10-01 11:09:35 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum JobState
|
|
|
|
|
{
|
|
|
|
|
Pending,
|
|
|
|
|
Running,
|
|
|
|
|
Done,
|
|
|
|
|
Dead
|
|
|
|
|
}
|
|
|
|
|
}
|