aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Jobs/JobRegister.cs
blob: 1da7d5b4e049c065702670ee327203e2723f42c8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
namespace IOL.GreatOffice.Api.Jobs;

public static class JobRegister
{
    private static readonly JobKey AccessTokenCleanupKey = new("AccessTokenCleanupKey");
    private static readonly JobKey VaultTokenRenewalKey = new("VaultTokenRenewalKey");

    public static IServiceCollectionQuartzConfigurator RegisterJobs(this IServiceCollectionQuartzConfigurator configurator) {
        configurator.AddJob<AccessTokenCleanupJob>(AccessTokenCleanupKey);
        configurator.AddJob<VaultTokenRenewalJob>(VaultTokenRenewalKey);
        configurator.AddTrigger(options => {
            options.ForJob(AccessTokenCleanupKey)
                .WithIdentity(AccessTokenCleanupKey.Name + "-trigger")
                .WithCronSchedule("0 0 0/1 ? * * *");
        });
        configurator.AddTrigger(options => {
            options.ForJob(VaultTokenRenewalKey)
                .WithIdentity(VaultTokenRenewalKey.Name + "-trigger")
                .WithCronSchedule("0 0 0/1 ? * * *");
        });
        return configurator;
    }
}