# Class CheckExpiredAlertsJob

Namespace
  adas_core.Application.Services

Assembly
  adas-core.Application.dll

Represents a scheduled job that checks for expired alerts.

    [DisallowConcurrentExecution]
    public class CheckExpiredAlertsJob : IJob

Inheritance
  object
  CheckExpiredAlertsJob

Implements
  IJob

Inherited Members
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

Extension Methods
  NumberUtils.IsNumber(object)
  NumberUtils.ToDouble(object)
  ObjectUtils.ToStr(object?)

## Remarks

This job is decorated with the Quartz.DisallowConcurrentExecutionAttribute to prevent overlapping executions of the same job instance.

## Properties

### ObservationService

    public static IObservationService ObservationService { get; set; }

#### Property Value

IObservationService

## Methods

### Execute(IJobExecutionContext)

Executes the scheduled job that checks for expired alerts and triggers the power-off routine, while preventing concurrent executions and logging execution duration. Runs the expiration logic only when the global "isCheckingAlertsExpiration" flag is absent or set to false; any exception is caught and logged without being rethrown.

    public Task Execute(IJobExecutionContext context)

#### Parameters

`context` IJobExecutionContext

  The Quartz job execution context provided by the scheduler when the job trigger fires.

#### Returns

Task