mud_sanc 板


LINE

最近改良了在公司写的程式,这次应用了以前改圣殿时提到的 内回概念,简单的说,每一笔 XML request 格式如下.. <xxxxx> <xxxxxx> <request bla bla....> . . </request> </xxxxxx> <xxxxx> 我以前的程式写法,是把上面的东西丢给 soap-api 让它去跑 结果,然後我等着接收从它那边传回来的 response,如下.. ' 假设要跑 10000 笔 request for i = 1 to 10000 对 soap-api 送出 request xml (如上) 等待 response 解析 response 并将资料存档 next 这个就类似底下的东西... for i = 1 to 10 me->shut("xxx",10000,1000,"dam",tar); 现在就是把它改成内回的型式,如下... me->shut("xxx",10000,1000,"dam",tar,10); 以 xml 来说,就是把要 request 的资料都统一包起来,如下 str = "<xxxxx><xxxxxx>" for i = 1 to 10000 str = str & "<request ......> ...... </request>" next str = str & "</xxxxxx></xxxxx>" 这对我们就可以只对 soap-api 送出「一个」xml 就搞定,类 似上面只呼叫 shut 一次的语法,soap-api 再针对我送出的 request xml 去解析里面共有几笔 xml,等它解析完就会将资 料回给我,回给我时也是一笔 xml(里面包含多笔 response) 实务上,改良後的语法如下.. str1 = "<xxxxx><xxxxxx>" str2 = "</xxxxxx></xxxxx>" for i = 1 to 10000 step 100 str = str1 for ii = i to i+99 str = str & "<request ......> ...... </request>" next str = str & str2 将 str 送去 soap-api 等待 soap-api 将 response 传回来 解析 response 的资料并存档 next 上面的意思就是说,我将 10000 笔 request 分 100 次做, 每次做 100 笔 request,则 soap-api 会一次将一百笔资料 回传给我,而等我做完这 100 笔资料後,才会再送下一个一 百笔资料。它的好处是.. 一、因为一次解析一百笔资料需要时间(很短),刚好可以给 soap-api 休息的时间。 二、不用去操 soap-api 10000 次,只需要操 100 次即可得   到结果。 三、以前会有 session 过期的问题,但是因为得到了休息时   间,相对的就能延长 session 的使用期限,就不用在每   次做 n 笔後就得重新取得一个 session id。 所以在圣殿的经验还是挺有用的,以前我 10000 笔资料必须 分 10 次手动去 request,我目前正在试 10000 笔的自动执 行 request,若能成功,对将来挺有帮助的。 它的关键就在於每次的 step 最好就让它把该做的事情做完, 包括解析、存档等,这样才能最大限度地延长每一次 request 的时间,来减缓 soap-api 的操劳程度。 它好像有个专有名词,例如说... for i = 1 to 10000 呼叫某东西做某动作; 假设上述行为会当掉,一般为了防止当掉就会这样做.. for i = 1 to 10000 { 呼叫某东西做某动作; 故意又呼叫了什麽使程式在这里 delay 了一下下; } 将程式改成上面後就不会当了。 Laechan --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53
1F:→ laechan :刚刚跑出测试结果了,10000笔资料不到5000秒就读取完 05/23 15:49
2F:→ laechan :毕,以前至少要两三个小时 05/23 15:49







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP