2016-11-03 5 views
1

Я использую обработчик событий webhook в моем шлюзе синхронизации. Всякий раз, когда определенный doc синхронизируется, он отправляется как запрос API. Теперь я попытался активировать Doc с некоторыми изменениями в свойстве Doc. Моя проблема заключается в том, что документ обновляется, но тот же самый документ синхронизируется и отправляется как запрос API, в котором выполняется upsert. Цикл длится бесконечно, пока я не остановлю свой сервер API.Документ Upsert, который поставляется через Couchbase sync gateway Webhook в API

Моя цель - обновить документ, который поставляется в виде запроса API через webhook, а затем сохранить его на главном сервере БД.

Сообщите мне, если есть способ сделать это.

Это мой конфигуратор веб-хоккея.

"event_handlers":{ 
       "document_changed":[ 
       {  "handler":"webhook", 
         "url":"http://localhost:5000/checkInvoiceSequence", 
         "filter":` function(doc) { 
           if(doc.channels){ 
            if(doc.type == "invoice"){ 
             return true; 
            } 
           } 
           return false; 
         }` 
       } 
       ] 
     } 

Я пытаюсь взломать тот же документ в API на главный сервер БД.

TIA.

ответ

0

Вы пытаетесь отслеживать состояние, поэтому вам нужно это сделать где-то. Приходят на ум два подхода.

  1. Добавить объект для документа, который содержит отметки о том, отправлять ли его для обработки через ваш API или готов ли он к обновлению.

  2. Следить за изменением версий, так что ваш сервер API может сравниться с тем, чтобы решить, видел ли он документ раньше.