コード例 #1
0
        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() <<");
        }
コード例 #2
0
ファイル: AgentStatusMonitor.cs プロジェクト: georgevella/SSM
        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() <<");
        }