2013-04-19 2 views
0

나는 대기열을 구독하고 다른 대기열에 게시하는 안드로이드 응용 프로그램을 개발했습니다. 한 번에 두 개의 다른 대기열에 같은 메시지를 게시합니다. 그 중 하나는 "대기열"이라는 대기열이고 이제는 "대기열"에 가입하고 메시지를 소비하고이를 mysql db에 삽입해야하는 appfog 인스턴스입니다.rabbitmq 대기열을 사용하고 있고 Mysql에 메시지를 삽입하고 있습니까?

위의 목적으로 codeigniter를 사용하여 PHP 독립 실행 형 응용 프로그램을 만들었습니다. 어떤 이유로 작업자 응용 프로그램이 rabbitmq와의 연결을 끊습니다. 나는 이것을하는 가장 좋은 방법을 알고 싶다. appfog의 작업자 응용 프로그램은 응용 프로그램을 다시 시작할 수 있습니다.

내가 위의 문제를 해결하는 데 사용해야하는 것은 무엇인가.

답변

0

어떤 RabbitMQ 버전을 사용하고 있습니까? 3.0에서 하트 비트는 기본적으로 연결에 사용됩니다. 정기적 인 연결 끊기 (기본적으로 10 분)가있는 경우 연결이 끊기는 하트 비트 일 것입니다.

클라이언트가 연결 협상 중에 더 길게 구성하거나 PHP 응용 프로그램에서 일정 간격으로 하트 비트를 보내도록 설정할 수 있습니다. 그것을 조금 설명하는 Here is the announcement post.

+0

나는 rabbitmq 연결에 문제가 없다고 생각했습니다. mysql 인서트와 관련된 코드가있다. 내 응용 프로그램의 오류 로그를 확인하고 오류는 "MySQL을 멀리 갔다"입니다. php rabbitmq 소비자의 예는 수신 메시지와 register_shutdown에 대한 콜 백 (call backs)을 가지고있다. 수신 전화를 다시 나는 그것의 범위와 내가 get_instance()를 사용했기 때문에 나는이 코드 점화 장치를 $ 사용할 수 없다. 내가 어떻게 rabbitmq 클라이언트에서 콜백 함수를받을 방법을 호출할지 모르겠다. –