public async Task Execute(IJobExecutionContext context) { _logger.Trace("AgentRegistrationStatusMonitor::Execute() >>"); var agentInfo = await _agentStatusService.GetAgentInformation(); if (agentInfo.Status.IsAuthorized()) { _logger.Info("Agent registration accepted, starting queue listener and agent status monitor"); // start sitespeedjob listener await _queueListener.Start(agentInfo.Countries); // start agent status monitor _logger.Trace("Scheduling [AgentStatusMonitor] job"); var job = JobBuilder.Create <AgentStatusMonitor>() .WithIdentity("AgentStatusMonitor", "Tasks") .Build(); var trigger = TriggerBuilder.Create() .WithIdentity("AgentStatusMonitor", "Tasks") .WithSimpleSchedule(builder => builder.RepeatForever().WithIntervalInSeconds(10)) .StartNow() .Build(); var dateTimeOffset = await _scheduler.ScheduleJob(job, trigger); } _logger.Trace("AgentRegistrationStatusMonitor::Execute() <<"); }
public async Task Execute(IJobExecutionContext context) { _logger.Trace("AgentStatusMonitor::Execute() >>"); var agentInfo = await _agentStatusService.GetAgentInformation(); var agentStatus = agentInfo.Status.IsEnabledFlagSet() ? AgentStatus.Enabled : AgentStatus.Disabled; if (agentStatus != _queueListener.IsRunning) { _logger.Info($"Agent changed state from [{_queueListener.IsRunning}] to [{agentStatus}] "); if (agentStatus == AgentStatus.Enabled) { await _queueListener.Start(agentInfo.Countries); } else { _queueListener.Stop(); } } _logger.Trace("AgentStatusMonitor::Execute() <<"); }