-from twisted.internet import defer, task
+from twisted.internet import defer
from twisted.python import log
import p2pool
self._watch2 = self._factory.new_block.watch(self._request)
self._requested = set()
- self._clear_task = task.LoopingCall(self._requested.clear)
+ self._clear_task = deferral.RobustLoopingCall(self._requested.clear)
self._clear_task.start(60)
self._last_notified_size = 0
self.updated = variable.Event()
- self._think_task = task.LoopingCall(self._think)
+ self._think_task = deferral.RobustLoopingCall(self._think)
self._think_task.start(15)
- self._think2_task = task.LoopingCall(self._think2)
+ self._think2_task = deferral.RobustLoopingCall(self._think2)
self._think2_task.start(15)
def _think(self):
def height_cacher(block_hash):
try:
x = yield bitcoind.rpc_getblock('%x' % (block_hash,))
- except jsonrpc.Error, e:
- if e.code == -5 and not p2pool.DEBUG:
+ except jsonrpc.Error_for_code(-5): # Block not found
+ if not p2pool.DEBUG:
raise deferral.RetrySilentlyException()
- raise
+ else:
+ raise
defer.returnValue(x['blockcount'] if 'blockcount' in x else x['height'])
best_height_cached = variable.Variable((yield deferral.retry()(height_cacher)(best_block_func())))
def get_height_rel_highest(block_hash):