using System.ComponentModel.DataAnnotations; namespace StellaOps.Plugin.MyJob; /// /// Configuration options for the MyJob scheduled plugin. /// public sealed class MyJobOptions { /// /// The configuration section name. /// public const string SectionName = "Plugins:MyJob"; /// /// Gets or sets the cron schedule expression. /// Default: "0 0 * * *" (daily at midnight). /// [Required] public string CronSchedule { get; set; } = "0 0 * * *"; /// /// Gets or sets whether the job is enabled. /// public bool Enabled { get; set; } = true; /// /// Gets or sets the maximum execution time in minutes. /// [Range(1, 1440)] public int MaxExecutionMinutes { get; set; } = 60; /// /// Gets or sets the batch size for processing items. /// [Range(1, 10000)] public int BatchSize { get; set; } = 100; /// /// Gets or sets whether to continue processing on error. /// public bool ContinueOnError { get; set; } }