26

我正在使用 Quartz.NET,我的调度程序严重依赖 cron 表达式的使用 - 例如此链接中详述的那些:

http://quartznet.sourceforge.net/tutorial/lesson_6.html

理想情况下,我希望这两种情况成为可能(第一种可能非常困难,而且不太可能有任何东西)

1:用户能够在 ASP.NET 表单上构建 cron 表达式,他们可以在其中选择分钟、小时、天等

2:将 cron 表达式转换为短字符串的能力,例如 'Every {x} minutes on Friday' 或 'At {x} o clock on the last day'

我已经开始编写我自己的版本,但这是一项非常艰巨的任务,我很想知道那里有一个图书馆,甚至想从你们那里得到任何提示和技巧。

注意:如果没有这方面的内容并且我(相对)成功地创建了代码,如果有人想要它,我很乐意分享源代码。

4

5 回答 5

39

我写了一个 C# 库来做这个。它被称为 cron 表达式描述符。 https://github.com/bradymholt/cron-expression-descriptor

于 2012-02-22T16:26:56.657 回答
13

使用最新的Quartz.NET(撰写本文时为 2.1),您可以使用 CronScheduleBuilder 获取 Cron 表达式。

获取日常工作的表达式:

var t = CronScheduleBuilder.DailyAtHourAndMinute(10, 0).Build() as CronTriggerImpl;
Console.WriteLine(t.CronExpressionString);// This is the actual Cron
Console.WriteLine(t.GetExpressionSummary()); // This is the description of that Cron
于 2012-07-14T04:08:06.497 回答
4

我最终使用了这个 jquery 插件,它提供了一个很好的界面,然后使用隐藏字段将其保存到 .net/c# 中的数据库中。

http://shawnchin.github.com/jquery-cron/

它对我来说效果很好。您可能需要检查您是否将字符串前面的秒数设置为“0”,但如果使用quartz.net,就像我一样,因为这个插件不支持秒数。

于 2013-02-07T23:20:07.817 回答
3

我前一阵子用过 NCrontab http://www.raboof.com/Projects/NCrontab/

但它似乎并没有将其翻译成人类可读的......

于 2011-06-23T12:01:42.677 回答
1

几个月前有人问过同样的问题。
我从来没有找到过这样的东西。
我最终做了自己的“配置器”,但我的要求很简单。

于 2011-06-23T12:09:08.600 回答