具体需求是这样的:
客户这边弄来一批电信流量卡,电信只提供查询跟停复机的接口,需要我这边不断的查询这批卡剩余流量,一到阀值就给这张卡停机。最简单的思路,一直while(true),一张张卡来查询,有问题了就申请停机。这样的问题一方面是php会一下子占用了大量的服务器资源,而且不稳定,一旦出错,就会影响整批卡的查询。所以现在想着最好就是像JAVA这样用多线程,每张卡的查询停机操作用一个新线程去做,再加一个监听线程,可以了解哪张卡查询出问题。因为没做过,所以搜了一下pcntl_fork,拿捏不准他能否实现我的要求。另外也求大牛们提供一下思路跟关键词,感谢

解决方案 »

  1.   

    1、多线程并不能缓解运行压力,该做的事情一样都没有少做
    2、子线程是在父线程(或其他子线程)的缝隙中运行的,这种见缝插针的工作方式只是为了提高 cpu 的利用率。也就是 cpu 的负担更重了
    3、你只有一个查询接口,而查询接口在任何瞬间是会对一个查询请求做出响应
      

  2.   

    那边就提供一个webservice,性能跟并发数都不详。以下是wsdl,请参考:http://101.95.48.192:8080/tsp-api/services/TspService?wsdl
      

  3.   

    我这边访问用curl直接post json数据过去就行了,如果要用soapclient应该也可以,还没试。
      

  4.   

    pcntl是进程吧,你用了这个还要考虑僵尸进程的问题,还要自己写信号控制。不建议
    这种问题最好用Node.js了哈哈,异步响应速度巨快
      

  5.   

    可以用并行的 curl (curl_multi_xxxx)来充分利用资源