回答

收藏

30小时以上查询的最佳架构

技术问答 技术问答 244 人阅读 | 0 人回复 | 2023-09-14

我有一个有趣的问题要解决。我的一位客户要求我开发一个库存分析程序,它有近50年的库存数据和近1000个交易品种。我开发了一系列过滤器,可以在任何一天使用,以检查是否有交易失败。. h9 X* o) t) V% i
我们希望针对每个库存的每天数据运行此过滤器。基本上,您的开始日期和结束日期类型报告。但是,每个符号每周需要花费6分钟进行过滤。我们估计大约需要40个小时才能对整个数据集运行报告。
- Z# O6 g( s* d第一个要求是,我的客户可以在应用程序中从任何地方的任何计算机(他经常旅行)执行任何操作,所以我们基于浏览器。
! G6 x" `: V8 I, i为了解决这个问题,我写了一个异步方法来运行这个报告,但是如果应用程序池没有活动计时器,工作就会终止。我不想开始调整整个应用程序来支持报告(我们会做很多这样的工作,因为每个库存场景都需要分析我们的整个数据集运行,然后才能用于活跃交易)。' U( Y! N; ]0 n* ?' O
有人支持超长异步过程吗?Web系统结构有什么一般的想法或经验?
/ K! B4 d3 S) r; ~  U# F谢谢
& \2 Z( k/ I" K0 ]                                                               
' x: q7 F6 k3 z* b    解决方案:                                                                , E; j3 [$ v# Q4 R7 P8 w
                                                                作为一般建议,我建议使用独立的建议Windows服务、控制台应用程序或类似程序,并有非常仔细的生命周期控件和日志记录,将继续运行和检查数据库中的要处理的操作,然后使用结果更新数据库和进度信息。/ ?' _, @" @, b! s
这可能不是最好的方法,但是我已经使用过很多次了,它可靠,可扩展且具有良好的性能。& D7 @' G; j' G: L5 E
最好将网络请求的时间限制在一两分钟内-从来没有设计过处理很多时间。这样,你就可以每分钟左右(使用)Web服务)检查操作状态。/ W! Z' H2 r' q" A
如果您对我有任何疑问或对这个想法有任何疑问,请发表评论。我很高兴为您提供帮助、详细说明或建议。  ~  I- X* Z0 A9 j
希望对你有所帮助!
5 g7 I) s8 R  A2 X4 ?(另外:我相信Windows服务没有得到充分利用!它所需要的只是一个快速基本或可重用的辅助方法的集合,在您的控制下,您可以操作一个记录、可靠、自动、可配置和快速实施的过程。一起制作原型!)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则