Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/a237356577520683_stage2_creation…
Browse files Browse the repository at this point in the history
…_retry_fix'
  • Loading branch information
vmaksymiv committed Jan 5, 2017
2 parents 6ea3d90 + ec42078 commit d1fff58
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion openprocurement/tender/competitivedialogue/databridge.py
Original file line number Diff line number Diff line change
Expand Up @@ -567,14 +567,34 @@ def retry_patch_new_tender_status(self):
self.competitive_dialogues_queue.put({"id": patch_data['dialogueID']})
gevent.sleep(0)

@retry(stop_max_attempt_number=5, wait_exponential_multiplier=1000)
@retry(stop_max_attempt_number=5, wait_exponential_multiplier=10000)
def _put_with_retry(self, new_tender):
data = {"data": new_tender}
logger.info("Creating tender stage2 from competitive dialogue id={0}".format(new_tender['dialogueID']),
extra=journal_context({"MESSAGE_ID": DATABRIDGE_CREATE_NEW_TENDER},
{"TENDER_ID": new_tender['dialogueID']}))
try:
res = self.client.create_tender(data)
except ResourceError as re:
if re.status_int == 412: # Update Cookie, and retry
self.client.headers['Cookie'] = re.response.headers['Set-Cookie']
elif re.status_int == 422: # WARNING and don't retry
logger.warn("Catch 422 status, stop create tender stage2",
extra=journal_context({"MESSAGE_ID": DATABRIDGE_UNSUCCESSFUL_CREATE},
{"TENDER_ID": new_tender['dialogueID']}))
logger.warn("Error response {}".format(re.message),
extra=journal_context({"MESSAGE_ID": DATABRIDGE_UNSUCCESSFUL_CREATE},
{"TENDER_ID": new_tender['dialogueID']}))
elif re.status_int == 404: # WARNING and don't retry
logger.warn("Catch 404 status, stop create tender stage2",
extra=journal_context(
{"MESSAGE_ID": DATABRIDGE_UNSUCCESSFUL_CREATE},
{"TENDER_ID": new_tender['dialogueID']}))
else:
logger.info("Unsuccessful put for tender stage2 of competitive dialogue id={0}".format(new_tender['dialogueID']),
extra=journal_context({"MESSAGE_ID": DATABRIDGE_UNSUCCESSFUL_CREATE},
{"TENDER_ID": new_tender['dialogueID']}))
raise re
except Exception, e:
logger.exception(e)
raise
Expand Down

0 comments on commit d1fff58

Please sign in to comment.