【问题标题】:User-configurable signalling mechanism in Django [closed]Django中用户可配置的信号机制[关闭]
【发布时间】:2009-08-29 20:13:17
【问题描述】:

这里的问题是这样的东西是否已经存在,或者,如果没有,是否有比我在下面描述的更好的方法来实现它。

我需要允许任意主体(用户、组、站点管理员)将 Event Sinks(如电子邮件地址、Webhook URL 等)添加到系统(通过 Web 界面),并且对于每个一、指定哪些<Event Source, Event Type>应该发送给它。由于我是为ReviewBoard 执行此操作,因此我将给出一个假设实现的具体示例:

  1. John 创建了一个新的event_sink(一个 webhook),由postbin1标识;
  2. John 指定postbin1 将在ReviewRequests 上接收publish 类型的事件(类级别subscription——source_id 未指定);
  3. 创建新的review_request 时,Event Manager 列出(通过与subscriptions 的连接)所有对ReviewRequests 感兴趣的event_sinks,并创建一个(实例级)subscription 绑定它们作为他们感兴趣的特定event_type(django 信号的名称)的听众特定review_request;
  4. review_request 发布时,Event Manager(监听publish 信号)列出所有对review_request 实例和publish 信号感兴趣的event_sinks,并将信号参数分派给他们的sink 方法。
  5. Webhook event_sink 可以随意编组数据并将其发布到其 URL。

这是我想到的架构: alt text http://bayimg.com/image/aadgoaacd.jpg

我将自己开始实施此功能,但我只是想确保我不会重新发明轮子。在谷歌上找不到任何东西。欢迎使用现成的包名称、对我有帮助的中途包名称和/或对我的 DIY 方法的批评。

【问题讨论】:

    标签: django schema signals notifications webhooks


    【解决方案1】:

    django-notification James Tauber 为您提供了很大的帮助。如果您愿意使用该代码库,我希望看到该应用程序成熟,那将是很棒的。

    【讨论】:

      猜你喜欢
      • 2020-08-18
      • 1970-01-01
      • 2016-11-24
      • 2018-09-09
      • 1970-01-01
      • 2018-01-30
      • 2017-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多