0

我需要在后台每 15 秒运行一次代码,这对服务器没有影响。

我在下面有一个拍卖数据的示例表。

--------------------------------------------------------------
AID           STARTDATE               ENDDATE
-------------------------------------------------------------
1             18-7-2013 12:00 PM     20-7-2013 12:00 PM
2             19-7-2013 12:00 PM     21-7-2013 12:00 PM
3             19-7-2013 01:00 PM     21-7-2013 12:00 PM
4             19-7-2013 01:00 PM     22-7-2013 12:00 PM

我需要检查表以获取当前日期大于开始日期的项目,然后我将通过拍卖存储在本地数据库中的 Web 请求获取数据,它将每 15 秒循环一次,直到当前日期为大于结束日期。有时 2 次拍卖同时开始,然后我需要同时运行两个线程。

对于当前处于拍卖模式并存储在我们数据库中的所有项目,每 15 秒更新一次的最佳方法是什么?

先感谢您...

4

2 回答 2

1

您不能在 ASP.NET/IIS 中可靠地做到这一点。默认情况下,整个进程在收到来自 Web 服务器的第一个请求之前不会启动,然后在指定的不活动时间(通常为 20 分钟)后关闭整个进程。如果您需要每 15 秒运行一次进程,则必须每 15 秒从客户端发起一个请求,很可能使用某种 javascript 来执行请求。

最好的解决方案是使用独立于网站的 Windows 服务更新您的拍卖数据库。

于 2013-07-17T15:13:41.250 回答
0

您在哪里托管您的网站?如果您在自己的服务器上,请创建一个每 15 秒向您的后端发出请求的 cron 作业。

如果您使用云提供商(或没有“云”标语的提供商),他们可能会提供 cron 作业功能。但是他们很少让你实现 15 秒的间隔,如果它来自不同的站点,一些提供商可能会将其解释为 DOS 攻击。

于 2013-07-18T07:51:04.367 回答