【发布时间】:2014-05-28 16:17:31
【问题描述】:
大家好,Stackoverflowers,
我目前正在尝试集成一种方法来安排一些数据库检查和面向数据库的操作,这些操作将在每天凌晨 01:00 左右进行并在夜间处理。我偶然发现了 .NET Library Quartz,它似乎可以满足我的需求,但我可能又错了。
我花时间阅读了他们的文档,但我还有一些问题。他们似乎没有涵盖这个库在网站环境中的集成(据我所见,它主要是控制台驱动的应用程序)。
1) 关于网站集成,我看到了一些代码,其中初始化是在 Global.cs 文件的 Application_Start 事件中完成的。这似乎满足了我的需求,但话又说回来,这是否意味着:每次用户/访问者访问我的网站时,都会创建一个新的调度程序实例?
Application_Start 和 Application_End 方法是不代表 HttpApplication 事件的特殊方法。 ASP.NET 在应用程序域的生命周期内调用它们一次,而不是为每个 HttpApplication 实例调用一次。
Application_Start 方法在应用程序的生命周期中只被调用一次。
2) 考虑到我希望我的工作在每天上午 01:00 左右执行“仅一次”但我不确定我是否完全理解调度进程以不断运行而不停止的概念。 Quartz 真的是我需要使用的吗?
3) 假设我的网站处于闲置状态,两周内没有人访问它(我知道这有点牵强)。如果我使用 Quartz,我的流程还会每天执行吗?
我不知道这些问题是否含糊不清,我不希望(也不希望)有人给我完整的解决方案,但我只需要指导和知识来让我了解从哪里开始.
谢谢!
【问题讨论】:
标签: c# asp.net web quartz-scheduler