本文整理汇总了Python中retrying.Retrying类的典型用法代码示例。如果您正苦于以下问题:Python Retrying类的具体用法?Python Retrying怎么用?Python Retrying使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Retrying类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_exponential
def test_exponential(self):
r = Retrying(wait_exponential_max=100000)
self.assertEqual(r.wait(1, 0), 2)
self.assertEqual(r.wait(2, 0), 4)
self.assertEqual(r.wait(3, 0), 8)
self.assertEqual(r.wait(4, 0), 16)
self.assertEqual(r.wait(5, 0), 32)
self.assertEqual(r.wait(6, 0), 64)
示例2: test_random_sleep_without_min
def test_random_sleep_without_min(self):
r = Retrying(wait_random_max=2000)
times = set()
times.add(r.wait(1, 6546))
times.add(r.wait(1, 6546))
times.add(r.wait(1, 6546))
times.add(r.wait(1, 6546))
self.assertTrue(len(times) > 1) # this is kind of non-deterministic...
for t in times:
self.assertTrue(t >= 0)
self.assertTrue(t <= 2000)
示例3: test_exponential_with_max_wait_and_multiplier
def test_exponential_with_max_wait_and_multiplier(self):
r = Retrying(wait_exponential_max=50000, wait_exponential_multiplier=1000)
self.assertEqual(r.wait(1, 0), 2000)
self.assertEqual(r.wait(2, 0), 4000)
self.assertEqual(r.wait(3, 0), 8000)
self.assertEqual(r.wait(4, 0), 16000)
self.assertEqual(r.wait(5, 0), 32000)
self.assertEqual(r.wait(6, 0), 50000)
self.assertEqual(r.wait(7, 0), 50000)
self.assertEqual(r.wait(50, 0), 50000)
示例4: test_exponential_with_max_wait
def test_exponential_with_max_wait(self):
r = Retrying(wait_exponential_max=40)
self.assertEqual(r.wait(1, 0), 2)
self.assertEqual(r.wait(2, 0), 4)
self.assertEqual(r.wait(3, 0), 8)
self.assertEqual(r.wait(4, 0), 16)
self.assertEqual(r.wait(5, 0), 32)
self.assertEqual(r.wait(6, 0), 40)
self.assertEqual(r.wait(7, 0), 40)
self.assertEqual(r.wait(50, 0), 40)
示例5: test_wait_aggregation_func
def test_wait_aggregation_func(self):
r = Retrying(wait_exponential_max=50000, wait_exponential_multiplier=1000, wait_fixed=1,
wait_aggregation_func=sum)
self.assertEqual(r.wait(1, 0), 2001)
self.assertEqual(r.wait(2, 0), 4001)
self.assertEqual(r.wait(3, 0), 8001)
self.assertEqual(r.wait(4, 0), 16001)
self.assertEqual(r.wait(5, 0), 32001)
self.assertEqual(r.wait(6, 0), 50001)
self.assertEqual(r.wait(7, 0), 50001)
self.assertEqual(r.wait(50, 0), 50001)
示例6: test_incrementing_sleep
def test_incrementing_sleep(self):
r = Retrying(wait_incrementing_start=500, wait_incrementing_increment=100)
self.assertEqual(500, r.wait(1, 6546))
self.assertEqual(600, r.wait(2, 6546))
self.assertEqual(700, r.wait(3, 6546))
示例7: test_fixed_sleep
def test_fixed_sleep(self):
r = Retrying(wait_fixed=1000)
self.assertEqual(1000, r.wait(12, 6546))
示例8: test_no_sleep
def test_no_sleep(self):
r = Retrying()
self.assertEqual(0, r.wait(18, 9879))
示例9: test_stop_func
def test_stop_func(self):
r = Retrying(stop_func=lambda attempt, delay: attempt == delay)
self.assertFalse(r.stop(1, 3))
self.assertFalse(r.stop(100, 99))
self.assertTrue(r.stop(101, 101))
示例10: test_stop_after_delay
def test_stop_after_delay(self):
r = Retrying(stop_max_delay=1000)
self.assertFalse(r.stop(2, 999))
self.assertTrue(r.stop(2, 1000))
self.assertTrue(r.stop(2, 1001))
示例11: test_stop_after_attempt
def test_stop_after_attempt(self):
r = Retrying(stop_max_attempt_number=3)
self.assertFalse(r.stop(2, 6546))
self.assertTrue(r.stop(3, 6546))
self.assertTrue(r.stop(4, 6546))
示例12: test_never_stop
def test_never_stop(self):
r = Retrying()
self.assertFalse(r.stop(3, 6546))
示例13: test_wait_func
def test_wait_func(self):
r = Retrying(wait_func=lambda attempt, delay: attempt * delay)
self.assertEqual(r.wait(1, 5), 5)
self.assertEqual(r.wait(2, 11), 22)
self.assertEqual(r.wait(10, 100), 1000)
示例14: _get
def _get(self, url, package):
retry = Retrying(wait_exponential_multiplier=2000, wait_exponential_max=120000,
retry_on_exception=_retry_msg)
return retry.call(requests.get, url % package)