作者:一个简单的程序员 | 来源:互联网 | 2023-09-15 10:50
比如我要给1万个会员批量更新数据,但里面的逻辑太复杂,我希望每执行1000个会员的时候,程序能中断,相当于结束,然后,一会,或几秒钟后,从1001个会员开始,继续操作处理,执行到2000的时候又中断一
比如我要给1万个会员批量更新数据,但里面的逻辑太复杂,我希望每执行1000个会员的时候,程序能中断,相当于结束,然后,一会,或几秒钟后,从1001个会员开始,继续操作处理,执行到2000的时候又中断一次,,,就是这个算法如何理解?不然一点按钮就这样执行下去,肯定页面会报错的
设置脚本超时的方法肯定是行不通的。。。
以前用过动易的采集系统,比如采集几千条数据的时候,他们的机制是,每采集100条或者更多,程序会中断一下,然后继续工作,这样避免页面超时
我想问问,这个机制在asp如何能够实现
31 个解决方案
不知道还可以这样处理的,一般遇见这样的还是做一个服务把
[img=F:\无名图片管理系统\images][/img]
异步方式,可以用消息队列MSMQ触发采集程序,程序执行完再通过消息队列通知,或更新数据库状态。
结合Js SetTimeout 重新window.location
我找到一个方法,就是分页处理,只需要设计好自动location.href就可以了
正在调试,各位XD给的灵感,太感谢了。。。
客户端js触发服务器端执行1-1000条数据的处理,服务器处理完后,返回最后一条数据id=“1000”信号后,客户端用js settimeout,5秒后,客户端js再次触发服务器端执行1001(id+1)-2000条数据的处理。
建立更新数据档案
分条或分批操作,同时记录进度
使用定时系统读取对比进度,继续执行操作
如果是自己的服务器可以用IIS来处理
IIS->你的网站->属性->web站点->连接超时
IIS->你的网站->属性->主目录->配置->应用程序选项->asp脚本超时
用分页处理啊
Set rs= Server.CreateObject("ADODB.Recordset")
rs.CursorType=3
rs.PageSize=1000
rs.Open SQL,Conn
page=trim(Request("page"))
if not isnumeric(page) or page="" then
page=1
end if
if page page=rs.pageCount
.....
Response.write("")
Response.end
else
Response.write("数据已经处理完毕..")
Response.end
end if
用分页处理啊
Set rs= Server.CreateObject("ADODB.Recordset")
rs.CursorType=3
rs.PageSize=1000
rs.Open SQL,Conn
page=trim(Request("page"))
if not isnumeric(page) or page="" then
page=1
end if
if page
rs.AbsolutePage=page
.....
Response.write(" ")
Response.end
else
Response.write("数据已经处理完毕..")
Response.end
end if
输出数据倒比较少有超时,但把数据Insert到数据库时,偶然会出现,即使数据量不大,但在Vbscript中有大量业务运算时,亦会导致超时,而无法Insert或者是由于Insert时,数据库端有其它操作,令到插入要等待一定时间,接着亦会发出操作超时,要重新运行更新记录的程序 。
用存储过程来做。然后是否结束的标志显示在网页上,可以通过客户端手动或是script刷新网页的方法来得知是否结束
总之,不能在ASP里去干这件事儿,太不现实了
不能同步,异步进行。
存储过程的调用要立即反回,设置互斥变量,以阻止相互冲突的数据库访问
用存储过程来做。然后是否结束的标志显示在网页上,可以通过客户端手动或是script刷新网页的方法来得知是否结束
总之,不能在ASP里去干这件事儿,太不现实了
不能同步,异步进行。
存储过程的调用要立即反回,设置互斥变量,以阻止相互冲突的数据库访问
干吗让ASP来干这事?这事是经常的吗?是不是你的逻辑设计有问题?
恩,我是用存储过程来做的,利用分页机制,定位每页需要处理的记录数
然后每条记录如何逻辑处理,再次提交给存储过程
至少能保证了不超时问题,因为处理每页的时候能刷新页面
效果有点类似以前用过的动易的后台采集效果了。不敢说效率如何,只能比以往做法有所提高,呵呵
我明白楼主的意思
你这样处理:每处理到1000条你需要停住的地方的时候,用程序判断条件是否到达该停住的地方,该停的时候,用程序控制输出response.write或其他的方式改变页面的刷新时间间隔,<meta http-equiv="Refresh" cOntent="5;URL=当前页面名称或地址"> 由于刷新的时候,程序会又从第一条记录开始操作,所以你要在数据库中对每条记录做个标志,比如flag设置为0或1或true或false来判断,每更新完一个会员信息的时候将其标志设置为1,页面在执行的时候都是查询标志为0的记录,这样就会不停的向下去更新会员资料,每更新完1000条程序就会停止5秒钟。
推荐阅读
方法:1 配置数据库basediros.path.abspath(os.path.dirname(__file__)) #获取当前文件的绝对路径appFlask(__name__ ...
[详细]
蜡笔小新 2024-12-23 12:51:39
本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ...
[详细]
蜡笔小新 2024-12-23 11:32:02
本问题探讨了在特定条件下排列儿童队伍的方法数量。题目要求计算满足条件的队伍排列总数,并使用递推算法和大数处理技术来解决这一问题。 ...
[详细]
蜡笔小新 2024-12-23 12:18:55
本文介绍了在使用Anaconda安装TensorFlow时遇到的“Could not find a version that satisfies the requirement tensorboard”错误,并提供详细的解决方案,包括创建虚拟环境和配置PyCharm项目。 ...
[详细]
蜡笔小新 2024-12-23 11:58:00
本文详细介绍将本地Docker镜像上传至阿里云容器镜像服务的步骤,包括登录、查看镜像列表、推送镜像以及确认上传结果。通过本文,您将掌握如何高效地管理Docker镜像并将其存储在阿里云的镜像仓库中。 ...
[详细]
蜡笔小新 2024-12-23 11:55:55
查找最小值的操作是很简单的,只需要从根节点递归的遍历到左子树节点即可。当遍历到节点的左孩子为NULL时,则这个节点就是树的最小值。上面的树中,从根节点20开始,递归遍历左子 ...
[详细]
蜡笔小新 2024-12-23 11:47:29
本文详细介绍了如何在PHP中使用serialize()和unserialize()函数,以及它们在数据传输和存储中的应用。 ...
[详细]
蜡笔小新 2024-12-23 11:22:20
在使用STM32Cube进行定时器配置时,有时会遇到延时不准的问题。本文探讨了可能导致延时不准确的原因,并提供了解决方法和预防措施。 ...
[详细]
蜡笔小新 2024-12-23 11:17:06
阿里云ecs怎么配置php环境,阿里云ecs配置选择 ...
[详细]
蜡笔小新 2024-12-23 11:12:07
本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ...
[详细]
蜡笔小新 2024-12-23 11:10:01
本文旨在帮助读者全面掌握Lucene搜索的编写步骤、核心API及其应用。通过详细解析Lucene的基本查询和查询解析器的使用方法,结合架构图和代码示例,带领读者深入了解Lucene搜索的工作流程。 ...
[详细]
蜡笔小新 2024-12-23 11:06:10
本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ...
[详细]
蜡笔小新 2024-12-23 09:44:54
探讨如何优化MongoDB数据库在长时间未访问后首次查询时的性能问题,提供多种解决方案和最佳实践。 ...
[详细]
蜡笔小新 2024-12-23 09:12:05
本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ...
[详细]
蜡笔小新 2024-12-23 09:07:40
在项目部署后,Node.js 进程可能会遇到不可预见的错误并崩溃。为了及时通知开发人员进行问题排查,我们可以利用 nodemailer 插件来发送邮件提醒。本文将详细介绍如何配置和使用 nodemailer 实现这一功能。 ...
[详细]
蜡笔小新 2024-12-23 08:56:34