From 996448d3e2487fd93432d633cf660d79e1c33a44 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Thu, 1 Aug 2013 19:48:15 -0400 Subject: [PATCH] check if bitcoind is still up before work cache is used to propagate failure to miners faster --- p2pool/work.py | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/p2pool/work.py b/p2pool/work.py index 2a224d0..a5e6d5f 100644 --- a/p2pool/work.py +++ b/p2pool/work.py @@ -170,6 +170,10 @@ class WorkerBridge(worker_interface.WorkerBridge): return user, pubkey_hash, desired_share_target, desired_pseudoshare_target def preprocess_request(self, user): + if (self.node.p2p_node is None or len(self.node.p2p_node.peers) == 0) and self.node.net.PERSIST: + raise jsonrpc.Error_for_code(-12345)(u'p2pool is not connected to any peers') + if time.time() > self.current_work.value['last_update'] + 60: + raise jsonrpc.Error_for_code(-12345)(u'lost contact with bitcoind') user, pubkey_hash, desired_share_target, desired_pseudoshare_target = self.get_user_details(user) return pubkey_hash, desired_share_target, desired_pseudoshare_target @@ -198,12 +202,8 @@ class WorkerBridge(worker_interface.WorkerBridge): return addr_hash_rates def get_work(self, pubkey_hash, desired_share_target, desired_pseudoshare_target): - if (self.node.p2p_node is None or len(self.node.p2p_node.peers) == 0) and self.node.net.PERSIST: - raise jsonrpc.Error_for_code(-12345)(u'p2pool is not connected to any peers') if self.node.best_share_var.value is None and self.node.net.PERSIST: raise jsonrpc.Error_for_code(-12345)(u'p2pool is downloading shares') - if time.time() > self.current_work.value['last_update'] + 60: - raise jsonrpc.Error_for_code(-12345)(u'lost contact with bitcoind') if self.merged_work.value: tree, size = bitcoin_data.make_auxpow_tree(self.merged_work.value) -- 1.7.1