开源作业调度框架 - Quartz.NET - Cron表达式测试

昨天简单写了一下如何使用Quzrtz.NET。

那么问题来了,我设置了Cron表达式之后如何知道是表达式是否按照预期的时间执行了呢?

我找到了些Cron表达式工具生成了表达式,确发现它们基本上没有进行校验是否正确。

那么好,我们来自己实现一个吧。

 

首先我们建立了一个项目并引用Quartz.NET的dll类库

然后稍微制作一下UI吧,放一个文本框和显示列表以及一个按钮。

 

 

代码如下

private string[] weekStr = "星期日,星期一,星期二,星期三,星期四,星期五,星期六".Split(',');

private void btnShow_Click(object sender, EventArgs e)
{
    try
    {
        lbDate.Items.Clear();

        if (CronExpression.IsValidExpression(tbCron.Text))
        {
            CronTriggerImpl cron = new CronTriggerImpl("testName", "testGroup", tbCron.Text);

            ICalendar calendar = new BaseCalendar(TimeZoneInfo.Local);

            var list = TriggerUtils.ComputeFireTimes(cron, calendar, (int)numShowNumber.Value);

            foreach (var d in list)
            {
                lbDate.Items.Add(weekStr[(int)d.LocalDateTime.DayOfWeek] + " " + d.LocalDateTime.ToString());
            }
        }
        else
        {
            lbDate.Items.Add("Cron表达式不符合规格。");
        }
    }
    catch (Exception exp)
    {
        lbDate.Items.Add(exp.Message);
    }
}

工具:下载链接

代码:下载链接

转载于:https://www.cnblogs.com/jgjgjg23/p/5541467.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值