mirror of
https://github.com/internetarchive/warcprox.git
synced 2025-01-18 13:22:09 +01:00
recover from a transient error, which happens for me at least rethinkdb starts up
This commit is contained in:
parent
501ec1ff23
commit
6c57b81de8
@ -21,6 +21,7 @@ import logging
|
|||||||
import random
|
import random
|
||||||
import time
|
import time
|
||||||
import types
|
import types
|
||||||
|
import re
|
||||||
|
|
||||||
class RethinkerWrapper(object):
|
class RethinkerWrapper(object):
|
||||||
logger = logging.getLogger('doublethink.RethinkerWrapper')
|
logger = logging.getLogger('doublethink.RethinkerWrapper')
|
||||||
@ -66,6 +67,16 @@ class RethinkerWrapper(object):
|
|||||||
return result
|
return result
|
||||||
except r.ReqlTimeoutError as e:
|
except r.ReqlTimeoutError as e:
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
except r.ReqlOpFailedError as e:
|
||||||
|
if e.args and re.match(
|
||||||
|
'^Cannot perform.*primary replica.*not available.*',
|
||||||
|
e.args[0]):
|
||||||
|
self.logger.error(
|
||||||
|
'will keep trying after potentially recoverable '
|
||||||
|
'error: %s', e)
|
||||||
|
time.sleep(0.5)
|
||||||
|
else:
|
||||||
|
raise
|
||||||
finally:
|
finally:
|
||||||
if not is_iter:
|
if not is_iter:
|
||||||
conn.close(noreply_wait=False)
|
conn.close(noreply_wait=False)
|
||||||
|
2
setup.py
2
setup.py
@ -3,7 +3,7 @@ import codecs
|
|||||||
|
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name='doublethink',
|
name='doublethink',
|
||||||
version='0.2.0.dev75',
|
version='0.2.0.dev76',
|
||||||
packages=['doublethink'],
|
packages=['doublethink'],
|
||||||
classifiers=[
|
classifiers=[
|
||||||
'Programming Language :: Python :: 2.7',
|
'Programming Language :: Python :: 2.7',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user