PHP의 스트리밍 데이터를 처리하는 방법은 무엇입니까?
문제
방법의 패밀리가 있습니다 (Birddog, Shadow 및 Follow) 트위터 API에서 (주로) 영구 연결을 열고 많은 사용자를 팔로우 할 수 있습니다. Bash에서 Curl을 사용하여 샘플 연결 코드를 실행하고 잘 작동합니다. 사용자가 트윗을 작성하면 콘솔에서 XML 스트림을 얻습니다.
내 질문은 다음과 같습니다. 직접 기능 호출로 반환되지 않지만 스트리밍 된 PHP를 사용하여 데이터에 액세스하려면 어떻게해야합니까? 이 데이터는 산발적이고 예측할 수 없을 정도로 도착하며, 내가 다루어 진 적이거나 답을 찾기 시작할 곳을 알지 못합니다. 도서관이나 함정에 대한 조언과 설명에 감사 할 것입니다.
다른 팁
스트림에서 데이터를 듣고 ~ 30 초 후에 스크립트가 시간이 걸릴 것이라고 확신합니다. 그렇지 않더라도 서버로드가 상당히 높아지면 열기 및 청취 연결 수는 서버를 무릎으로 가져옵니다.
메시지 대기열을 저장하는 스크립트를 호출하는 Ajax 솔루션을 살펴 보는 것이 좋습니다. 트위터 API가 어떻게 정확하게 작동하는지 잘 모르겠으므로 모든 트윗을 요청할 때 스크립트를 실행할 수 있는지 확실하지 않거나, 트윗을 대기열에 추가 해야하는지 여부는 확실하지 않습니다. 해당 PHP는 Ajax 호출을 통해 읽고 다시 전달할 수 있습니다.
요즘에는 훨씬 쉽게 일을 할 수있는 라이브러리가 있습니다 (재 연결, 소켓 처리, TCP 백 오프 등과 같은 까다로운 비트를 처리합니다) : 즉 :
Ajax를 사용하는 것이 좋습니다. PHP 개발자는 아니지만 AJAX 호출을 API로 연결하고 웹 페이지를 업데이트 할 수 있다고 생각합니다.
Phirehose는 확실히 갈 길입니다.