【发布时间】:2017-03-20 07:11:03
【问题描述】:
我的应用程序有一个长时间运行的任务,大约需要 4/5 小时才能完成。该任务通过循环迭代从 CUBE 数据服务器检索数百种组合的数据。
当我从本地 Visual Studio 2015 运行它时它运行良好,但是当我将它部署到我们的应用程序服务器上时,此过程会在 25/30 分钟后自动停止。当我从 CUBE 服务器进行监控时,我可以看到 25/30 分钟后,那里没有接收到数据呼叫。
我在 web.config 中尝试了以下操作,并将会话超时设置为 20 小时,从 IIS 开始,但由于数据调用在特定时间后停止并且没有完全完成,所以没有任何效果。
executionTimeout="86400"
代码如下-
Task.Factory.StartNew(() => RunManufacturerModuleCache(), TaskCreationOptions.LongRunning);
其中 RunManufacturerModuleCache() 方法有一个 1000 次迭代的 for 循环,每次迭代都从 CUBE 服务器获取数据。
是否有任何设置可以延长我在 IIS 中的执行时间,或者无法在 IIS 中运行超过 25/30 分钟的执行过程?谢谢!
【问题讨论】: