using Hangfire.States; using Hangfire.Storage; using System; namespace CoreCms.Net.Web.WebApi.Infrastructure { /// /// 已完成的job设置过期,防止数据无限增长 /// public class SucceededStateExpireHandler : IStateHandler { /// /// 数据过期时间 /// public TimeSpan JobExpirationTimeout; /// /// 完成的项目过期状态处理 /// /// public SucceededStateExpireHandler(int jobExpirationTimeout) { JobExpirationTimeout = TimeSpan.FromMinutes(jobExpirationTimeout); } /// /// 状态名称 /// public string StateName => SucceededState.StateName; /// /// 应用状态 /// /// /// public void Apply(ApplyStateContext context, IWriteOnlyTransaction transaction) { context.JobExpirationTimeout = JobExpirationTimeout; } /// /// 不应用状态 /// /// /// public void Unapply(ApplyStateContext context, IWriteOnlyTransaction transaction) { } } }