【问题标题】:Scheduled task: Service / DLL / Console application计划任务:服务/DLL/控制台应用程序
【发布时间】:2012-05-15 10:57:37
【问题描述】:

我正在制作一个关于证券交易所的 asp.NET (C#) 网站。我需要执行一个计划任务,该任务从周日到周四在 10:00-17:00 之间每 5 分钟运行一次。 (检查新股票价值、更新数据库和发送电子邮件) - 执行它的正确/最佳方式是什么。使用控制台应用程序/dll/服务?

【问题讨论】:

  • 嗯,它可以是通过计划任务运行的控制台应用程序,也可以是 Windows 服务。对于小型任务,我们在项目中使用 powershell 脚本(也通过计划任务运行)。
  • 我想不出使用 DLL 的方法。其他两个选项很好,使用内置任务调度程序运行的控制台应用程序或自定义 Windows 服务。

标签: c# .net web-services dll scheduled-tasks


【解决方案1】:

有充分的理由使用现有的任务调度程序每五分钟启动一次应用程序。

最明显的是,如果可以避免,任务调度并不是你想要重新实现的东西。例如,您必须能够处理时间校正(手动和自动)。

此外,虽然在 C# 中问题明显较少,但编写糟糕的应用程序可能会泄漏某种资源,直到它关闭。如果应用程序预计在完成其任务后终止,那么操作系统通常可以清理大部分资源。

但是在某些情况下,您可能希望应用程序在后台运行,例如在调用之间需要保存大量状态,或者需要延长初始化时间,甚至需要某种实时监视器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    相关资源
    最近更新 更多