作者davidou (老欧 ! 月夜雪岚)
看板Web_Design
标题[问题] 网页重新整理到crash掉
时间Sat Apr 7 11:47:07 2012
我有写一个网页php机器人程式
然後 我透过
<meta http-equiv="refresh" content="5" />
的方式 让他每隔几秒就重新执行一次我的php 程式
这只只是一个很简单的抓网页然後if else的程式而已
平常跑是都没问题
可是有发现他要是放了个一阵子後 他就会不动了
这边的一阵子 有可能是一周也可能是一个月甚至以上不定
我会看到浏览器一直在转圈圈
然後猜测可能程式就卡在某一行跑不过去
(因为我有写让他可以寄信到我信箱来的功能 然後我发现他一直在重复寄信)
所以上来问看看说 有没有高手有个甚麽见解之类的
是记忆体问题吗? 还是甚麽的
这边附注一下我有用到的功能
php的curl、session、mail、if..else for while等的判断式与回圈
当然其他不是很重要的函数就不提了
有人有想法吗? 另外 有时候挂掉後 要必须整个浏览器重开程式才会跑
(这我猜会不会是session的问题? 只是我也不知道该从哪下手)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.211.74
1F:→ tyf99:你让浏览器每5秒就去戳一下php? 04/07 13:07
2F:→ tyf99:如果执行一次平均6秒,你算算一天会累积多少 threads 04/07 13:11
3F:→ davidou:执行蓄不会释放的意思? 04/07 15:24
4F:→ tyf99:执行完会释放,但是你有 session,session write 会 block 04/07 20:08
5F:→ tyf99:所以用了 session 的话,正常下同时只会有一个 thread 在跑 04/07 20:10
6F:→ tyf99:後面的 threads 全部 queue 住.. 04/07 20:10
7F:→ tyf99:改用 while loop 和 sleep 去处理,内部设停止条件 04/07 20:13
我程式没有想要停止说 假设我一直用WHILE loop去跑 浏览器自己会强制timeout吧
8F:→ tyf99:让 php 自己去重复执行就好 04/07 20:14
9F:→ tyf99:用浏览器去短时间不断 refresh,是邪道写法.. 04/07 20:15
※ 编辑: davidou 来自: 59.126.211.74 (04/07 22:01)
10F:→ tyf99:set_time_limit, ignore_user_abort 04/08 00:41