2009-08-13 3 views
1

여기에있는 질문은 이미 이와 같은 것이 있는지 또는 그렇지 않다면 내가 아래에서 설명하는 것보다 그것을 달성하는 더 좋은 방법이 있는지 아닌지에 관한 질문입니다.장고 사용자 정의 시그널링 메카니즘

나는, (사용자는, 그룹, 사이트 관리자가) 각각에 대해, (웹 인터페이스를 통해) 시스템 (이메일 주소, Webhook의 URL 등 같은) Event Sink의를 추가하고 임의의 교장을 허용해야 <Event Source, Event Type>의 종류를 지정해야합니다. 내가 ReviewBoard이하고 있어요 때문에, 나는 가상의 구현을 구체적인 예를 들어주지 :

  1. 존이 새로운 event_sink (A 은 webhook)을 작성, postbin1로 식별;
  2. John은 유형의 이벤트를 ReviewRequest에 수신 할 것을 지정합니다 (클래스 수준 subscription - source_id은 지정되지 않음).
  3. 새로운 review_request가 생성됩니다
  4. Event Manager, 나열 자신의 특정 event_type (이름에 리스너로 바인딩 모든 ReviewRequest의 관심 event_sinks와가 (인스턴스 레벨)을 생성 subscription (스루가 subscriptions에 가입) django 시그널)을 에 대해 review_request; 그 review_request이 게시됩니다 때
  5. Event Manager합니다 (publish 신호를 수신하는 사람들)이 review_request 예에 관심이있는 모든 event_sinkspublish 신호를 나열하고 그 sink 방법에 대한 신호 매개 변수를 전달합니다.
  6. 웹 후크 event_sink은 데이터를 정리하고 URL을 기쁘게합니다.

이 내가 생각 스키마입니다 :이 나 자신을 구현 시작하려고 해요 alt text http://bayimg.com/image/aadgoaacd.jpg

,하지만 난 그냥 바퀴를 개혁하고 있지 않다 있는지 확인하려면. Google에서 아무 것도 찾을 수 없습니다. 바로 사용할 수있는 패키지 이름, 나에게 도움이 될만한 패키지 이름 및/또는 DIY 접근에 대한 비판을 환영합니다.

답변

1

django-notification 제임스 타우 버 (James Tauber)가 저에게 좋은 기회를 제공합니다. 나는 당신이 그 코드베이스에서 벗어나 기꺼이한다면 성숙한 앱이 좋을 것이라고 생각한다.

1

한 번만 something very similar을 만들었지 만 TurboGears의 작은 REST 앱으로 만들었습니다.

심각한 성능에 대해서는 성능과 신뢰성을 결코 얻을 수 없습니다. 그리고 webhooks가 뿌리를 내리기 시작하기 전에 설계되었으므로 아마도 지금 고려해야합니다.

저는 장고에서 지금도 일하고 ​​있습니다. 나는 당신이 무엇을 생각해 내는지 궁금해 할 것입니다. 당신의 디자인이 옳은 것 같아요. 이런 종류의 이벤트 디스 패쳐는 매우 유용하고 가치가 있습니다.

1

펍/서브 용 케이스가 아닙니까? 어쩌면 같은 것 that

관련 문제