以编程方式根据用户输入创建Hangfire cron表达式

时间:2016-06-10 21:20:30

标签: c# asp.net cron cronexpression hangfire

我有一个C#.NET Web应用程序,其UI与http://www.cronmaker.com/类似。用户可以从许多选项中选择作业的频率。我需要能够创建一个cron表达式来表示用户所需的频率,并且它必须与Hangfire兼容。我的想法是:

  1. 找到执行此操作的现有库。但我还没有能够。我听说Quartz可以做到这一点(尽管它有点矫枉过正),但它似乎可以为某些情况创建cron表达式而不是其他情况。

  2. 制作我自己的工具,使用cronmaker.com来确定格式。但是,cronmaker以Hangfire认为无效的格式创建cron表达式。对于"每小时," cronmaker说" 0 0 0/1 1/1 *? *"哪个Hangfire说无效。我发现" 0 * / 1 * * *"作品。

  3. 我需要能够动态生成任何cron表达式。当然,那里有一个图书馆,可以做一些像CronLibrary.GetCronExpression(Frequency.EveryNDays,3," 12:00")的选项,可以涵盖所有可能的情况。有谁知道这样的图书馆?

1 个答案:

答案 0 :(得分:0)

我没有找到一个库,但网站http://crontab.guru/对于创建对Hangfire有效的cron表达非常有帮助。使用该站点作为参考,我能够编写代码将UI选择映射到cron表达式,反之亦然。