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,
|
2026-10-03 12:19:29 +02:00
|
|
|
RollupDay,
|
|
|
|
|
CrawlPlan,
|
2026-10-04 03:16:59 +02:00
|
|
|
CrawlInstance,
|
2026-10-04 03:56:18 +02:00
|
|
|
SendRecovery,
|
2026-10-05 02:55:17 +02:00
|
|
|
CountAccount,
|
2026-10-05 04:54:38 +02:00
|
|
|
PublishScheduled,
|
2026-10-06 02:15:49 +02:00
|
|
|
FetchReplies,
|
2026-10-06 07:46:46 +02:00
|
|
|
BackfillOutbox,
|
2026-10-07 10:48:56 +02:00
|
|
|
SynchronizeFollowing,
|
|
|
|
|
ProcessMedia
|
2026-10-01 11:09:35 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum JobState
|
|
|
|
|
{
|
|
|
|
|
Pending,
|
|
|
|
|
Running,
|
|
|
|
|
Done,
|
|
|
|
|
Dead
|
|
|
|
|
}
|
|
|
|
|
}
|