2014-09-17 2 views
0

SOAP 액션 :화재 및 잊지 웹 서비스/I는 다음과 같은 조치를 내 nusoap 서비스에 등록

$server->register(
     'testfunction', 
     array('value' => 'xsd:string'), 
     array(), 
     'urn:test_services', 
     'urn:test_services#testfunction' 
); 

... 그리고 함수 자체는 :

function testfunction($value) 
{ 
    // do something with $value 
} 

나는 액션이 ​​원하는 "화재와 잊기". 즉, 무엇이든지 부르면 응답 할 필요가 없습니다. 방금 $ server-> register의 응답 인수에 대해 빈 배열을 전달했습니다. 나는 그것이 내가 찾고있는 것을 성취 할 수있을 것이라고 생각했지만, 그것은 사실이 아니었다 (클라이언트는 응답을 기다린다).

은 WSDL은 다음과 같습니다 nusoap과 같은 기능을 달성 할 수있는 방법이

<message name="testfunctionRequest"> 
    <part name="value" type="xsd:string"/> 
</message> 
<message name="testfunctionResponse"/> 

있습니까? 나는 "화재와 잊기"가 올바른 용어를 사용하고 있는지 확신 할 수 없기 때문에 이에 대한 가능한 대답을 찾기 위해 약간의 어려움을 겪었습니다!

답변

1

당신은 웹 서버 프로세스와 밀접한 관계에서 현재의 실행을 분리해야합니다 백그라운드에서 PHP 스크립트를 pcntl_fork()를 사용하거나 실행 - Asynchronous shell exec in PHP

또 다른 옵션은 일부 큐에 요청에 대한 정보를 추가하는 것입니다. 이 큐는 MySQL (또는 다른 DBMS) 테이블 또는 MemcacheQ, RabbitMQ 등과 같은 종류의 저장소 일 수 있습니다. 그런 다음 다른 독립 스크립트로 큐에서 정보를 검색하고 처리 할 수 ​​있습니다.

+0

위대한 답변 감사합니다. 적어도 잠시 동안 mysql에서 물건을 대기열에 넣어 버렸다. – dbr