33using System . Threading . Tasks ;
44using Microsoft . Extensions . DependencyInjection ;
55using Microsoft . Extensions . Logging ;
6+ using Microsoft . Extensions . Options ;
67using Umbraco . Cms . Core . Sync ;
78using Umbraco . Cms . Infrastructure . BackgroundJobs ;
89
@@ -11,13 +12,16 @@ namespace SgfDevs.Dev.EventSync;
1112public class SessionizeEventSyncBackgroundJob : IRecurringBackgroundJob
1213{
1314 private readonly IServiceScopeFactory _serviceScopeFactory ;
15+ private readonly IOptions < EventSyncOptions > _options ;
1416 private readonly ILogger < SessionizeEventSyncBackgroundJob > _logger ;
1517
1618 public SessionizeEventSyncBackgroundJob (
1719 IServiceScopeFactory serviceScopeFactory ,
20+ IOptions < EventSyncOptions > options ,
1821 ILogger < SessionizeEventSyncBackgroundJob > logger )
1922 {
2023 _serviceScopeFactory = serviceScopeFactory ;
24+ _options = options ;
2125 _logger = logger ;
2226 }
2327
@@ -33,6 +37,12 @@ public event EventHandler? PeriodChanged
3337
3438 public async Task RunJobAsync ( )
3539 {
40+ if ( _options . Value . EventSyncEnabled == false )
41+ {
42+ _logger . LogInformation ( "Skipping Sessionize event sync job because SGFDevs:EventSyncEnabled is false." ) ;
43+ return ;
44+ }
45+
3646 _logger . LogInformation ( "Starting Sessionize event sync job." ) ;
3747
3848 using var scope = _serviceScopeFactory . CreateScope ( ) ;
0 commit comments