Beispiel #1
0
 def save_processed_models(self, forms, cases=None, stock_result=None):
     forms = _list_to_processed_forms_tuple(forms)
     if stock_result:
         assert stock_result.populated
     try:
         return self.processor.save_processed_models(
             forms,
             cases=cases,
             stock_result=stock_result,
         )
     except BulkSaveError as e:
         logging.exception('BulkSaveError saving forms',
                           extra={'details': {
                               'errors': e.errors
                           }})
         raise
     except KafkaPublishingError as e:
         from corehq.form_processor.submission_post import notify_submission_error
         notify_submission_error(forms.submitted, e,
                                 'Error publishing to Kafka')
         raise PostSaveError(e)
     except Exception as e:
         from corehq.form_processor.submission_post import handle_unexpected_error
         instance = forms.submitted
         if forms.deprecated:
             # since this is a form edit there will already be a form with the ID so we need to give this one
             # a new ID
             instance = self.xformerror_from_xform_instance(
                 instance, '', with_new_id=True)
         handle_unexpected_error(self, instance, e)
         e.sentry_capture = False  # we've already notified
         raise
Beispiel #2
0
 def save_processed_models(self, forms, cases=None, stock_result=None):
     forms = _list_to_processed_forms_tuple(forms)
     if stock_result:
         assert stock_result.populated
     try:
         return self.processor.save_processed_models(
             forms,
             cases=cases,
             stock_result=stock_result,
         )
     except BulkSaveError as e:
         logging.exception('BulkSaveError saving forms', extra={'details': {'errors': e.errors}})
         raise
     except KafkaPublishingError as e:
         from corehq.form_processor.submission_post import notify_submission_error
         notify_submission_error(forms.submitted, e, 'Error publishing to Kafka')
         raise PostSaveError(e)
     except Exception as e:
         from corehq.form_processor.submission_post import handle_unexpected_error
         instance = forms.submitted
         if forms.deprecated:
             # since this is a form edit there will already be a form with the ID so we need to give this one
             # a new ID
             instance = self.xformerror_from_xform_instance(instance, '', with_new_id=True)
         handle_unexpected_error(self, instance, e)
         e.sentry_capture = False  # we've already notified
         raise
Beispiel #3
0
    def save_processed_models(self, forms, cases=None, stock_result=None):
        forms = _list_to_processed_forms_tuple(forms)
        if stock_result:
            assert stock_result.populated
        try:
            return self.processor.save_processed_models(forms, cases=cases, stock_result=stock_result)
        except BulkSaveError as e:
            logging.error("BulkSaveError saving forms", exc_info=1, extra={"details": {"errors": e.errors}})
            raise
        except Exception as e:
            xforms_being_saved = [form.form_id for form in forms if form]
            error_message = u"Unexpected error bulk saving docs during form processing ({})".format(
                ", ".join(xforms_being_saved)
            )
            from corehq.form_processor.submission_post import handle_unexpected_error

            handle_unexpected_error(self, forms.submitted, e, error_message)
            raise
Beispiel #4
0
 def save_processed_models(self, forms, cases=None, stock_updates=None):
     forms = _list_to_processed_forms_tuple(forms)
     try:
         return self.processor.save_processed_models(
             forms,
             cases=cases,
             stock_updates=stock_updates,
         )
     except BulkSaveError as e:
         logging.error('BulkSaveError saving forms', exc_info=1,
                       extra={'details': {'errors': e.errors}})
         raise
     except Exception as e:
         xforms_being_saved = [form.form_id for form in forms if form]
         error_message = u'Unexpected error bulk saving docs {}: {}, doc_ids: {}'.format(
             type(e).__name__,
             unicode(e),
             ', '.join(xforms_being_saved)
         )
         from corehq.form_processor.submission_post import handle_unexpected_error
         handle_unexpected_error(self, forms.submitted, error_message)
         raise
Beispiel #5
0
 def save_processed_models(self, forms, cases=None, stock_result=None):
     forms = _list_to_processed_forms_tuple(forms)
     if stock_result:
         assert stock_result.populated
     try:
         return self.processor.save_processed_models(
             forms,
             cases=cases,
             stock_result=stock_result,
         )
     except BulkSaveError as e:
         logging.exception('BulkSaveError saving forms', extra={'details': {'errors': e.errors}})
         raise
     except Exception as e:
         xforms_being_saved = [form.form_id for form in forms if form]
         error_message = u'Unexpected error bulk saving docs during form processing ({})'.format(
             ', '.join(xforms_being_saved),
         )
         from corehq.form_processor.submission_post import handle_unexpected_error
         handle_unexpected_error(self, forms.submitted, e, error_message)
         e.sentry_capture = False  # we've already notified
         raise e