【问题标题】:Guidance on how to build a scheduler in ASP.NET MVC 4关于如何在 ASP.NET MVC 4 中构建调度程序的指南
【发布时间】:2013-09-24 01:42:40
【问题描述】:

我有一个简单的问题要问.. 有谁知道如何在 ASP.NET MVC 4 中创建重复调度程序。我正在尝试构建的是一个灌溉系统,我可以设置星期几和时间让我的系统每周激活。因此,用户将选择星期几以及系统应该运行的时间和持续时间。如何保持触发系统开启的运行时钟?.. 我应该为我的属性使用下拉列表吗?虽然很好,但我并不是要你为我写一个完整的应用程序。在正确的方向上一个简单的点会很有帮助。在网上搜索答案的问题是我真的不知道要搜索什么。

提前谢谢你..

【问题讨论】:

标签: asp.net asp.net-mvc asp.net-mvc-4 scheduled-tasks


【解决方案1】:
【解决方案2】:

我们正是为此使用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 触发器 this guide comes handy 的可能性。

【讨论】:

  • 我还使用 Windows 服务中的 Quartz。它的多功能性和不同的触发器使安排任务变得非常容易。
  • 通读文档后,这可能是我一直在寻找的答案。您是否知道在 asp.net 中使用 cron 配置与 Quarz.net 相关的任何视频或教程?非常感谢您的帮助!
  • 我已更新问题,向您展示一些入门提示
【解决方案3】:

朋友,你可以通过下面的代码创建一个调度器

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
}

【讨论】:

    【解决方案4】:

    要在独立的日期时间服务器上进行计划任务,并获得有关所有任务的详细报告,您可以使用A Trigger 作为计划服务。使用标签暂停、恢复或删除任务集、归档和存储所有调用结果(例如可能出现的错误)等功能将真正帮助独立于编程语言的开发人员。

    .Net library 也可用:

    //Create
    ATrigger.Client.doCreate(TimeQuantity.Day(), "1", "http://www.example.com/myTask?something", tags);
    

    免责声明:我是 ATrigger 的开发者之一。这是一个完全免费的软件,不是商业目的。

    【讨论】:

      猜你喜欢
      • 2011-04-06
      • 2019-07-06
      • 1970-01-01
      • 2012-01-17
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      相关资源
      最近更新 更多