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

标签 c# asp.net cron cronexpression hangfire

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

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

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

我需要能够动态生成任何 cron 表达式。当然,有一个库可以执行类似 CronLibrary.GetCronExpression(Frequency.EveryNDays, 3, "12:00") 的操作,并提供涵盖所有可能情况的选项。有人知道这样的图书馆吗?

最佳答案

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

关于c# - 根据用户输入以编程方式创建 Hangfire cron 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37757325/

相关文章:

asp.net - 当我在母版页中调用 jquery 时出错

c# - 如何合并多个 pdf 文件(在运行时生成)?

css - 如何为 Jquery UI 按钮定义自定义 css

java - 如何制作一个特殊的 cron 作业?

cron - 我的计划操作在 Odoo 13 中不起作用,为什么?

cron 脚本变量扩展不太好?

c# - 加入用户控件的两个字符串属性(firstName + lastName)并将其分配给标签

c# - 如何在 Page.Resources 中包含两个资源?

c# - 将正则表达式语法扩展为 'does not contain text XYZ'

c# - 将秒表与异步方法一起使用