class InvokeRetryTestCase(TestCase):

    # ################################################################################################################################

    def setUp(self):
        self.maxDiff = None

# ################################################################################################################################

    def test_retry_failed_msg(self):
        so_far = rand_int()
        retry_repeats = rand_int()
        service_name = rand_string()
        retry_seconds = rand_int()
        orig_cid = rand_string()

        try:
            raise_exception()
        except Exception, e:
            pass

        msg = retry_failed_msg(so_far, retry_repeats, service_name,
                               retry_seconds, orig_cid, e)

        self.assertTrue(
            msg.startswith(
                '({}/{}) Retry failed for:`{}`, retry_seconds:`{}`, orig_cid:`{}`'
                .format(so_far, retry_repeats, service_name, retry_seconds,
                        orig_cid)))
        self.assertIn('raise_exception()', msg)
        self.assertIn('raise Exception()', msg)
Beispiel #2
0
    def _retry(self, remaining):

        try:
            response = self.invoke(self.req_bunch.target, *self.req_bunch.args,
                                   **self.req_bunch.kwargs)
        except Exception as e:
            msg = retry_failed_msg(
                (self.req_bunch.retry_repeats - remaining) + 1,
                self.req_bunch.retry_repeats, self.req_bunch.target,
                self.req_bunch.retry_seconds, self.req_bunch.orig_cid, e)
            self.logger.info(msg)
            raise RetryFailed(remaining - 1, e)
        else:
            return response