千万的数据量传递,会导致内存泄漏。
最好的方式,是在外层用shell脚本进行控制,先用shell读取php脚本获取总页数,
然后,通过shell循环,每一个循环开启一个php进程,进行本页数据的同步,
同步后,进程处理结束,shell进行下一个循环,是一个新的php进程,这样,千万数据也没事,你可以每页处理1000行,照样用AR。
如:
#!/bin/sh Cur_Dir=$(cd `dirname $0`; pwd) # get product all count. count=`$Cur_Dir/yii order/order/orderstatuscount` echo "There are $count Order to process" echo "##############ALL BEGINING###############"; start=0 for (( i=1; i<=$count; i++ )) do start=`$Cur_Dir/yii order/order/syncorderstatus $start` echo "Order_id $start done" done echo "##############ALL COMPLETE###############";