2009-08-13 8 views
1

ここでの質問は、このようなものが既に存在するかどうか、もしそうでなければ、私が以下で説明するものよりも良い実現方法があるかどうかです。私は(Webインターフェイスを介して)システムに(などの電子メールアドレス、WebhookのURLなど)Event Sink Sを追加して、それぞれのためのための任意のプリンシパル(ユーザー、グループ、サイト管理者)を許可する必要がありDjangoのユーザ設定可能なシグナル伝達メカニズム

<Event Source, Event Type>の種類を指定します。私はReviewBoardのためにこれをやっているので、私は仮定の実装で、具体的な例をあげる:

  1. ジョンは新しいevent_sink( ウェブフック)を作成し、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. Webhook event_sinkは、データを整理し、それを喜んでURLにPOSTします。

は、これは私が考えスキーマです: alt text http://bayimg.com/image/aadgoaacd.jpg

私はこれを自分で実装を開始しようとしてんだけど、私はちょうど私が車輪の再発明ないよ確認します。 Googleで何も見つかりませんでした。すぐに使えるパッケージ名、私を助ける半分のパッケージ名、そして/あるいはDIYのアプローチへの批評は大歓迎です。

答えて

1

django-notification James Tauberによると、そこには良いチャンクがあります。そのコードベースを使いこなすことができれば、そのアプリが成熟していることが大好きです。

1

私は一度something very similarを作りましたが、小さなRESTアプリ(TurboGears)を作りました。

私は何か深刻なもののためにそれを使うことができるところまで、決して性能と信頼性を得ていません。 Webhookが根を張ろうとする前に設計されていたので、おそらくこれを考慮する必要があります。

私もDjangoで作業しているので、私はあなたが思いつくものを見て興味があります。私はあなたのデザインが正しいと思うし、この種のイベントディスパッチャーは非常に有用で、作業に値するものです。

1

これはパブ/サブのケースではありませんか?多分何かのようにthat

関連する問題