문제

Beanstalkd를 사용하는 것이 좋습니다. http://kr.github.com/beanstalkd/ ] 을 위한

PHP의 비동기 처리?

이 lib를 사용한 사람의 피드백/댓글 프로 컨트가 필요합니다.

감사,

도움이 되었습니까?

해결책

나는 생산에 Beanstalk를 사용했으며 테스트하는 동안 일반적으로 마스를 통해 수백만 개의 간단한 메시지를 던졌지만 생산 시스템에는 회사를 떠날 때까지 10 만 개가 넘는 작업이있었습니다. 여전히 실행 중일 수 있습니다.이 경우 현재는 수천만 명 이상이 될 것입니다. 내가 계획 한대로 더 많이 사용하고 있다면 더 이상 사용된다면 더 이상 사용됩니다.

많은 훌륭한 포인트가 있기 때문에 추천합니다.

  • 명명 된 튜브를 사용하여 전달되는 작업을 제한 할 수 있습니다. 컴퓨터 호스트 이름을 기반으로 한 튜브를보고 작업자가 실행되는 곳에 제한되어 있습니다. 특정 서버에만 저장된 업로드 된 파일에 유용합니다).
  • 지연은 미래의 이벤트를 설정하는 데 사용될 수 있습니다
  • 서버의 최신 버전은 빈 로깅을 지원하여 지속성을 제공하지만 결코 충돌하지 않았습니다.

내가 그것을 겪은 첫 번째 작업은 이미지 처리였습니다. 그리고 Apache/mod_php 프로세스 외부에서 해당 작업을 수행하면 서버에 영향을 미치지 않고 더 큰 이미지를 크기를 조정할 수있었습니다 (웹 서버를 불고). 가볍게로드 된 대기열로 업로드 후 페이지가 새로 고침되기 전에 썸네일을 만들었습니다.

비동기 적으로 처리 할 수있는 다른 잠재적 인 작업이 많이 있습니다.

내가 가진 유일한 문제는 노동자들이 사고없이 완료되었는지 확인하는 것입니다. (그리고 일꾼이 다시 충돌하도록합니다).

PHP가 장기적으로 실행되는 프로세스에 적합하지 않기 때문에 작업자가 메모리를 청소하기 위해 다시 시작하는 것도 유용 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top