using Furion.TaskScheduler;
using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace Ewide.Core
{
///
/// 定时任务
///
[Table("sys_timer")]
[Comment("定时任务表")]
public class SysTimer : DEntityBase
{
///
/// 任务名称
///
/// ewide
[Comment("任务名称")]
public string JobName { get; set; }
///
/// 只执行一次
///
[Comment("只执行一次")]
public bool DoOnce { get; set; } = false;
///
/// 任务分组
///
/// ewide
//[Comment("任务分组")]
//public string JobGroup { get; set; }
///
/// 立即执行(默认等待启动)
///
[Comment("立即执行")]
public bool StartNow { get; set; } = false;
//
/// 执行类型(并行、列队)
///
[Comment("执行类型")]
public SpareTimeExecuteTypes ExecuteType { get; set; } = SpareTimeExecuteTypes.Parallel;
///
/// 开始时间
///
[Comment("开始时间")]
public DateTime BeginTime { get; set; } = DateTime.Now;
///
/// 结束时间
///
/// null
[Comment("结束时间")]
public DateTime? EndTime { get; set; }
///
/// Cron表达式
///
///
[Comment("Cron表达式")]
public string Cron { get; set; }
///
/// 执行次数(默认无限循环)
///
/// 10
[Comment("执行次数")]
public int? RunNumber { get; set; }
///
/// 执行间隔时间,单位秒(如果有Cron,则IntervalSecond失效)
///
/// 5
[Comment("执行间隔时间")]
public int? Interval { get; set; } = 5;
///
/// 触发器类型
///
//[Comment("触发器类型")]
//public TriggerTypeEnum TriggerType { get; set; } = TriggerTypeEnum.Simple;
///
/// 定时器类型
///
[Comment("定时器类型")]
public SpareTimeTypes TimerType { get; set; } = SpareTimeTypes.Interval;
///
/// 请求url
///
[Comment("请求url")]
public string RequestUrl { get; set; }
///
/// 请求参数(Post,Put请求用)
///
[Comment("请求参数")]
public string RequestParameters { get; set; }
///
/// Headers(可以包含如:Authorization授权认证)
/// 格式:{"Authorization":"userpassword.."}
///
[Comment("Headers")]
public string Headers { get; set; }
///
/// 请求类型
///
/// 2
[Comment("请求类型")]
public RequestTypeEnum RequestType { get; set; } = RequestTypeEnum.Post;
///
/// 备注
///
[Comment("备注")]
public string Remark { get; set; }
}
}