2014-12-11 3 views
0

RabbitMQ 초보자, 난 당신이 나에게 문제를 해결하는 데 도움 수 있기를 바랍니다 : Rabbitmq 비동기 생산자 스크립트

은 내가 RabbitMQ를위한 "생산자"로 사용하고자하는 타사 프로그램이 있습니다. 많은 로그 메시지를 생성하고 쉘 스크립트를 트리거하여 만 보낼 수 있습니다.

파이썬과 pika를 사용하여 쉘 스크립트를 작성할 수 있지만 AFAI는 RabbitMQ 서버로 전송되는 모든 단일 메시지에 대해 새로운 연결을 생성합니다. 그게 나쁜 생각 인 것 같습니다. 내가 먼저 RabbitMQ로 전환하는 이유는 이전 솔루션 (wget posts)이 로그 유출을 따라 잡을만큼 빠르지 않았기 때문입니다.

나는 올바른 방법이있을 것이라고 확신하지만, 그것을 이해할 수는 없다. 보낼 로그가있을 때마다 스크립트를 호출해야합니다. 연결을 유지하는 방법을 모르거나 올바른 방향으로 생각하고 있습니다.

미리 감사드립니다.

답변

1

여러 작업에 동일한 연결을 사용할 수 있습니다. 일반적으로 우리는 그것을 재사용합니다.

그러나 yupp보다 모든 메시지를 보내기 위해 스크립트를 호출하면 매번 새로운 연결이 만들어지고 닫히기 때문에 엄청난 오버 헤드가 발생합니다. 그래서 연결을 설정하고 rabbitmq에 대한 프록시 메시지를 로컬 포트에서 기다리는 데몬 스크립트가 도움이 될 수 있습니다.

또는 어떤 종류의 logstash-forwarder가 문제를 해결할 수 있습니까?

또한 새 정보를 아직 보지 못했다면 RabbitMQ Python examples 자세히 보아라.

+0

고마워요! 필자는 로컬 데몬을 사용하는 것을 생각하지 않았습니다. 일부 검색을 수행하면 [Pyro] (http://pythonhosted.org/Pyro4)로 연결되어 제대로 작동하는 것으로 보입니다. –