2014-06-10 3 views
0

나는 Prosody를 사용하여 채팅 응용 프로그램을 개발했으며 다른 사용자가 메시지를 받았지만 온라인 상태가 아닌 경우 밀어 넣기 알림을 보내야합니다.Prosody 오프라인 메시지 디렉터리 듣기

이 채팅 응용 프로그램은 Ruby on Rails로 작성된 웹 응용 프로그램과 함께 작동합니다.

나는 많은 것을 검색했고 Prosody (나는 eJabberd에서 찾았지만 eJabberd에 또 다른 문제가 있음)에서 푸시 알림을 보내는 것을 찾지 못했습니다. 그래서 나는 디렉토리를 모니터링하는 RoR에 보석을 찾아보기로 결정했다. 그걸로 Prosody의 오프라인 메시지 디렉토리를 모니터하고 메시지가 사용자에게 배달되지 않고 그에게 푸시 알림을 보낼 수 없을 때 콜백을받을 수있다.

내가 필요로하는 것을 정확하게 지키고있는 가드 (https://github.com/guard/listen)를 발견했지만, 어쨌든 나는 실행해야하기 때문에 청취자를 어디서 시작해야하는지 모르겠다. 웹 애플리케이션은 온라인 상태 다. .

+0

레일 앱에서 푸시 알림이 필요합니까? 별도의 프로세스에서 전송할 수 있습니까? – Matt

+0

@mtm 다른 프로세스에서 전송할 수 있습니다. – jonathanrz

답변

1

.

  • 운율 모듈, "후크"오프라인 메시지를 당신의 웹 애플리케이션에 보내 - 참조 예를 여기에 : 사실 당신이 필요로하는 https://github.com/JorgenPhi/ProsodyPush

  • 푸시 알림 모듈을 즐겨 찾는 웹 프레임 워크 - 난 당신을 생각 루비 보석 톤을 찾을 수 있습니다.

+0

답변 해 주셔서 감사합니다. 그러나 ProsodyPush는 아직 베타 버전입니다. 설명에서 생산에서 사용하지 않는다고합니다. – jonathanrz

+0

@jonathanrz,이 모듈의 소스 코드는 설명이 적고, prosody 모듈을 작성하는 데 얼마나 간단한 지, 또한 prosody 문서 및 다른 모듈을 열어 볼 수 있으며, "prosody 모듈을 사용하지 않을 것입니다. – vitalyster

+0

나는 이미 내 솔루션을 구현 했으므로 변경할 시간이 없다.이 프로젝트를 끝내야한다. 그러나 나는 당신의 의견에 동의한다. 선적 서류 비치. – jonathanrz

0

많은 연구 끝에 가장 좋은 방법은 간단한 루비 스크립트를 작성하고 데몬 (daemon) (https://github.com/ghazel/daemons)을 사용하여 데몬스트레이션하는 것입니다.

내 레일 앱에서 푸시 알림을 처리하려면 수신 경로에서 forward_to 옵션을 사용하여 내 레일 앱의 동작을 호출하십시오.

덕분에 스크립트를 디먼 화하는 방법을 설명 캐스트 레일에 대한 @mtm합니다 : 당신은 당신이 운율은 "블랙 박스"라고 생각해서, 너무 과도하게 일을 복잡하게 만들려고 노력 http://railscasts.com/episodes/129-custom-daemon

+1

당신은 내가 제안하려고했던 것을 가지고 있습니다. 레일즈 플러그인 (https://github.com/dougal/daemon_generator/tree/master)은 이전 [레일 캐스트] (http://railscasts.com/episodes/)에 자세히 설명되어있는 데몬 관리를 쉽게 해줍니다. 129- 사용자 정의 데몬). – Matt

+0

레일 캐스트 주셔서 감사합니다, 나는 대답을 업데이 트됩니다. – jonathanrz

관련 문제