同时调用相同的rest服务

时间:2017-05-16 20:11:56

标签: php web-services rest concurrency

我在PHP中创建了一个简单的Web服务REST,如下所示

if (($_SERVER["REQUEST_METHOD"]=="POST")&&($_SERVER["PATH_INFO"]=="/myService")){  
  $payload=json_decode(file_get_contents('php://input'),1);                  
    $class= new ClassA();
    $class->runFunction($payload["myParameter"]);

} else {
  header("HTTP/1.1 400 Bad Request");
  echo("Error");  
}

这是ClassA中的函数

function runFunction($myParameter)
{

if (empty($myParameter)){                  
    header("HTTP/1.1 400 Bad Request");
   echo("Error"); 
}
else
{
    ob_start();
    echo("Ok service invoked");  
    $size=ob_get_length();
    header("Content-Length: {$size}");
    ob_end_flush(); *//I use this to continue processing php after response*
    ob_flush();
    flush();

  **HERE THERE IS A switch($myParameter)
  WITH DIFFERENT FUNCTION** 

    }   
}

所以我的问题是如果在点X之后执行某些操作期间再次调用Web服务会发生什么? 脚本可以处理新请求而不停止第一个吗?

我有这个疑问,因为我在测试后检查了日志文件,当第二次使用新参数调用/ myService时,脚本似乎停止了对第一个请求的处理。

如果有这个问题,我该如何修改我的脚本?

非常感谢

0 个答案:

没有答案