我得到了一个订阅数据库,我想为每个订阅从一次到另一个每x分钟运行一次。在一个应用程序(.Net C#)中的计划任务
但是每个订阅都有自己的时间和时间+它应该每运行x分钟应该运行哪个函数。
它可以是许多同时运行的订阅。
也许它应该看起来像一个计划任务,开始于一个特定的时间,并运行每x分钟到一个特定的时间。
我希望我能描述自己想做的事情,我的英语不是最好的。
有没有人有任何想法如何构建应用程序待办事项?
我得到了一个订阅数据库,我想为每个订阅从一次到另一个每x分钟运行一次。在一个应用程序(.Net C#)中的计划任务
但是每个订阅都有自己的时间和时间+它应该每运行x分钟应该运行哪个函数。
它可以是许多同时运行的订阅。
也许它应该看起来像一个计划任务,开始于一个特定的时间,并运行每x分钟到一个特定的时间。
我希望我能描述自己想做的事情,我的英语不是最好的。
有没有人有任何想法如何构建应用程序待办事项?
你可能正在描述什么Quartz.NET可以为你做。检查一下,这可能值得花一些时间。
你有一对夫妇的选择,在这里:
您提到了scheduled tasks,这可能是另一种选择,但这需要您自动设置新任务以及要运行的实际任务。这两个方法都比较容易处理上面列出的选项。
我建议你使用System.Threading.Timer
。要安排工作,请执行以下操作:
new Timer(_ => DoTheJob()).Change(your_interval_in_milliseconds, Timeout.Infinite);
然后当作业完成后,使用相同的代码安排下次运行。这会阻止同时运行同一作业的2个实例。 请让我知道如果这没有适当地回答你的问题。
所以你应该写一些调度器。它将从队列中取出任务并执行它们......您可以创建一个调度程序,以便例如每个任务都可以在单独的线程中运行,并且会显着提高性能!
测试Quartz.NET,但得到一些问题,看看你是否有任何想法:http://stackoverflow.com/questions/8639085/quartz-net-beta-throws-an-exception-when-i-try -testcode功能于自己的项目 – RickardP 2011-12-26 21:01:36