34 lines
724 B
C#
34 lines
724 B
C#
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,
|
||
|
|
ProcessInbox
|
||
|
|
}
|
||
|
|
|
||
|
|
public enum JobState
|
||
|
|
{
|
||
|
|
Pending,
|
||
|
|
Running,
|
||
|
|
Done,
|
||
|
|
Dead
|
||
|
|
}
|
||
|
|
}
|