我有一个简单的问题要问.. 有谁知道如何在 ASP.NET MVC 4 中创建重复调度程序。我正在尝试构建的是一个灌溉系统,我可以为我的系统设置星期几和时间每周激活。因此,用户将选择星期几以及系统应该运行的时间和持续时间。如何保持触发系统开启的运行时钟?.. 我应该为我的属性使用下拉列表吗?虽然很好,但我并不是要你为我写一个完整的应用程序.. 一个正确方向的简单点会很有帮助.. 在网上搜索答案的问题是我真的不知道要搜索什么。
先感谢您..
我有一个简单的问题要问.. 有谁知道如何在 ASP.NET MVC 4 中创建重复调度程序。我正在尝试构建的是一个灌溉系统,我可以为我的系统设置星期几和时间每周激活。因此,用户将选择星期几以及系统应该运行的时间和持续时间。如何保持触发系统开启的运行时钟?.. 我应该为我的属性使用下拉列表吗?虽然很好,但我并不是要你为我写一个完整的应用程序.. 一个正确方向的简单点会很有帮助.. 在网上搜索答案的问题是我真的不知道要搜索什么。
先感谢您..
我们正是为此使用Quartz.Net 。它是 Quartz for Java 的一个端口。
它非常强大,很容易定义新的工作(应该做什么)和时间表(什么时候做)。新版本支持 Cron 调度程序,该调度程序支持类似 linux cron 的配置 - 因此在每个星期一、每个月的 5 号或给定日期的每 5 分钟开始工作非常容易。我认为计划任务很难超越这种灵活性。
我们正在使用数据库配置和服务器上的服务(这是“激活事物的运行时钟”)。此外,Web 服务用于配置 Quartz 调度程序并通过数据库更改正在运行的服务(这是由 Quartz 完成的.Net 为您服务)。所有这些东西都得到了很好的支持。
从 cron 触发器开始的一些技巧:
首先是来自http://quartznet.sourceforge.net/tutorial/lesson_1.html的教程。第 1 - 3 课向您展示了基本的构建块。第 9 课向您展示了 ADO 作业存储(用于数据库持久性)。
使用 cron 触发器会像这样工作
ITrigger trigger = TriggerBuilder.Create().WithIdentity(id).StartNow().WithCronSchedule(cronstring).Build();
scheduler.ScheduleJob(job, trigger);
为了让您了解 cron 触发器的可能性,本指南非常方便。
朋友,您可以借助以下代码创建调度程序
void Application_Start(object sender, EventArgs e)
{
System.Threading.Timer _timer = new System.Threading.Timer(
new TimerCallback(GetProducts));
_timer.Change(0, 51000); // here you can change the start time interval
}
static void GetProducts(Object state)
{
// do something
}