Настраиваемый пользователем механизм сигнализации в Django

голоса
1

Вопрос здесь не существует ли уже что-то вроде этого, или, если нет, то есть ли лучший способ для достижения этой цели, чем то, что я описываю ниже.

Мне нужно , чтобы произвольный Principal (пользователь, группа, Site Admin) добавить Event SinkS (как адреса электронной почты, Webhook URL - адреса и т.д.) в систему (через веб - интерфейс) , и для каждого из них, указать , какие виды <Event Source, Event Type>должны быть послал к нему. Так как я делаю это для ReviewBoard , я дам конкретный пример с гипотетической реализации:

  1. Джон создает новый event_sink(в webhook), идентифицированный postbin1;
  2. Джон указывает , что postbin1будет получать события типа publishна ReviewRequestS (класс уровня subscription- source_idне определен);
  3. Когда новый review_requestбудет создан, то Event Manager, списки (через объединение с subscriptions) все event_sinksзаинтересованы в ReviewRequestс и создает ( на уровень экземпляра) subscriptionсвязывая их в качестве слушателя к их конкретному event_type(названию сигнала Джанго) , представляющего интереса и к конкретному review_request;
  4. Когда это review_requestбудет опубликовано, то Event Manager(кто слушает publishсигнала) перечислены все event_sinksзаинтересованы в том , что , review_requestнапример , и publishсигнал и передает параметры сигнала к их sinkметоду.
  5. Webhook event_sinkмаршалы данные , однако радует его и посты в его URL.

Это схема , я думал: альтернативный текст http://bayimg.com/image/aadgoaacd.jpg

Я о том, чтобы приступить к реализации этого сам, но я просто хочу, чтобы убедиться, что я не изобретать колесо. Не удалось найти что-либо на Google. Готовые к использованию имен пакетов, имена пакетов на полпути, которые помогут мне, и / или критика в мой сделай сам подход все приветствуются.

Задан 13/08/2009 в 23:52
источник пользователем
На других языках...                            


3 ответов

голоса
1

Разве это не дело для паба / суб? Может быть что - то подобное , что

Ответил 29/08/2009 в 13:13
источник пользователем

голоса
1

Джанго-уведомление Джеймс Таубер получает вас хороший кусок пути. Я хотел бы видеть , что приложение зрелым , если вы готовы работать вне этого кодового это было бы здорово.

Ответил 27/08/2009 в 14:58
источник пользователем

голоса
1

Я когда - то построил что - то очень похожее , но , как маленький, REST приложение (в TurboGears).

Никогда не совсем получили производительность и надежность до места, где я мог бы использовать его для чего-нибудь серьезного. И он был разработан, прежде чем webhooks начал укореняться, так что я бы, вероятно, принять во внимание, что в настоящее время.

Как я работаю в Django сейчас, я бы любопытно посмотреть, что вы придумали. Я думаю, что ваш дизайн правильно, и это своего рода диспетчер события является очень полезным и стоит работать.

Ответил 14/08/2009 в 18:53
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more