summaryrefslogtreecommitdiff
path: root/files/couch-doc-update
diff options
context:
space:
mode:
Diffstat (limited to 'files/couch-doc-update')
-rw-r--r--files/couch-doc-update6
1 files changed, 6 insertions, 0 deletions
diff --git a/files/couch-doc-update b/files/couch-doc-update
index 242ed14..5ceed5e 100644
--- a/files/couch-doc-update
+++ b/files/couch-doc-update
@@ -90,6 +90,7 @@ end
# update document
#
def set_document(db, id, data)
+ attempt ||= 1
doc = get_document(db, id)
if doc
doc.id ||= id
@@ -97,6 +98,11 @@ def set_document(db, id, data)
else
create_document(db, id, data)
end
+rescue RestClient::Conflict
+ # retry once, reraise if that does not work
+ raise if attempt > 1
+ attempt += 1
+ retry
end
def get_document(db, doc_id)