0

我正在开发一个数据优化项目。它有一个客户端 Web 应用程序来接收用户的任务。假设这些任务是一些普通系统无法轻松完成的繁重计算。该程序需要很长时间才能计算大量数据。所以我想做的是从我的 Web 应用程序接收计算订单,并在我的服务器端有一个 Windows 服务来监听要完成的新任务。

我希望我的服务能够监听插入到我的任务表中的数据,并根据这些日期的时间运行计算器。我当然将不得不处理一些多线程。也许如果程序很忙,其他进程将不得不等待。

我也不介意为我的应用程序提供一个小的 GUI,以查看现在正在处理哪些订单以及我的服务是忙还是闲。

我首先考虑在我的数据库中添加 SQL Server 作业以频繁查询表并根据日期运行应用程序。但这对我来说似乎不是一个好的解决方案。我想要的是一个灵活的即用型服务,当我们在数据库中有新数据时,它会意识到并决定做什么。

我在这里并不特别强调 Windows 服务。所以欢迎任何好的想法。

4

1 回答 1

0

我在 Powershell 中做过类似的事情。我有的:

  • 请求聚集的“队列”表
  • 请求由调用过程的客户端传入
  • “队列历史”表 - 已“处理”的请求从“队列”变为“队列历史”(删除触发器)
  • 一个powershell循环读取队列表

  • 来自队列的请求是通过start-job命令独立启动的,它们实际上是单独的 Powershell 实例(我的任务主要是一些外部 exe 调用,但我认为对存储过程调用也很有用)。

  • powershell 循环还将他的“心跳”报告给一个表。
  • 还监视 STOP 标志的表和文件存在,以便我可以停止它。
于 2013-11-11T17:10:36.367 回答