有或没有单独的Web /桌面应用程序,为Web应用程序创建计划任务有哪些不同的方法?

===============>>#1 票数:4

Jeff在Stack Overflow博客上讨论了这个问题 - http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

基本上,Jeff建议使用CacheItemRemovedCallback作为调用某些任务的计时器。

我个人认为自动化任务应该作为服务,Windows计划任务或SQL Server中的作业来处理。

在Linux下,checkout cron。

===============>>#2 票数:3 已采纳

如果我们正在谈论Microsoft平台,那么我总是开发一个单独的Windows服务来处理这样的批处理任务。

您始终可以引用Web应用程序正在使用的相同程序集,以避免任何令人讨厌的代码重复。

===============>>#3 票数:2

我认为Stack Overflow本身正在使用ApplicationCache过期来定期运行后台代码。

===============>>#4 票数:2

如果你在Linux主机上,你几乎肯定会使用cron

===============>>#5 票数:1

在linux下,您可以使用cron作业( http://www.unixgeeks.org/security/newbie/unix/cron-1.html )来安排任务。

使用wget或curl等URL提取程序来发出HTTP GET请求。

使用身份验证保护您的URL,以便在不知道用户/密码的情况下,任何人都无法执行任务。

===============>>#6 票数:1

我认为Windows的内置任务计划程序是这项工作的建议工具。 这需要外部申请。

===============>>#7 票数:1

这可能是您正在寻找的,也可能不是您想要的,但请阅读本文“ 使用ASP.NET模拟Windows服务来运行预定作业 ”。 我认为StackOverflow可能会使用这种方法,或至少谈到使用它。

===============>>#8 票数:1

我们在工作中使用的一种非常简单的方法是:

  1. 设置执行任务的webservice / web方法。 如果需要,可以使用用户名/密码保护此Web服务。
  2. 创建一个调用此Web服务的控制台应用程序。 如果需要,您可以让控制台应用程序发送参数和/或获取某些指标,以便输出到控制台或外部日志记录。
  3. 在所选的任务调度程序中安排此可执行文件。

它不漂亮,但它简单可靠。 由于控制台应用程序本质上只是告诉应用程序执行其工作的心跳,因此不需要与应用程序共享任何库。 这种方法的另一个优点是,在需要时手动启动是相当简单的。

===============>>#9 票数:1

使用wget或curl等URL提取程序来发出HTTP GET请求。

使用身份验证保护您的URL,以便在不知道用户/密码的情况下,任何人都无法执行任务。

例如,你也可以告诉cron直接运行php脚本。 并且您可以设置PHP文件的权限以防止其他人访问它们或更好,但是在Web可访问的目录中没有这些实用程序脚本...

===============>>#10 票数:1

Java和Spring - 使用quartz。 非常好,可靠 - http://static.springframework.org/spring/docs/1.2.x/reference/scheduling.html

===============>>#11 票数:0

我认为有比使用cron(Linux)或Task Scheduler(Windows)更简单的方法。 您可以使用以下方法将其构建到您的Web应用程序中:(a)quartz scheduler,

或者如果您不想将另一个第三方库集成到您的应用程序中:(b)在启动时创建一个使用标准Java'java.util.Timer'类来运行您的任务的线程。

  ask by Krishna Kumar translate from so

未解决问题?本站智能推荐: