LANCommander/LANCommander.Server/Jobs/Recurring/_BaseRecurringJob.cs
2025-08-02 23:27:27 -05:00

23 lines
611 B
C#

using Hangfire;
using Hangfire.States;
using LANCommander.Server.Services;
namespace LANCommander.Server.Jobs.Recurring
{
public abstract class BaseRecurringJob
{
private readonly ILogger Logger;
public virtual string JobId => GetType().Name;
public abstract string CronExpression { get; }
public virtual TimeZoneInfo TimeZone => TimeZoneInfo.Local;
public BaseRecurringJob(ILogger logger)
{
Logger = logger;
}
[DisableConcurrentExecution(timeoutInSeconds: 60 * 60)]
public abstract Task ExecuteAsync();
}
}