Files
coreshoppro/CoreCms.Net.Web.WebApi/Infrastructure/SucceededStateExpireHandler.cs

52 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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