X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=p2pool%2Fwork.py;h=a28e7afcad2f07630d4b526e1af846ee4b6efe90;hb=ef86e467e4a82ec51d4e51230fa505eb9ca53d8e;hp=5a53f51c441984b135a3d6661160904de00bef08;hpb=5caeca6bd4294fa5c23a57a45bebc9129a330451;p=p2pool.git diff --git a/p2pool/work.py b/p2pool/work.py index 5a53f51..a28e7af 100644 --- a/p2pool/work.py +++ b/p2pool/work.py @@ -23,6 +23,7 @@ class WorkerBridge(worker_interface.WorkerBridge): self.donation_percentage = donation_percentage self.worker_fee = worker_fee + self.running = True self.pseudoshare_received = variable.Event() self.share_received = variable.Event() self.local_rate_monitor = math.RateMonitor(10*60) @@ -60,7 +61,7 @@ class WorkerBridge(worker_interface.WorkerBridge): @defer.inlineCallbacks def set_merged_work(merged_url, merged_userpass): merged_proxy = jsonrpc.Proxy(merged_url, dict(Authorization='Basic ' + base64.b64encode(merged_userpass))) - while True: + while self.running: auxblock = yield deferral.retry('Error while calling merged getauxblock:', 30)(merged_proxy.rpc_getauxblock)() self.merged_work.set(dict(self.merged_work.value, **{auxblock['chainid']: dict( hash=int(auxblock['hash'], 16), @@ -111,6 +112,9 @@ class WorkerBridge(worker_interface.WorkerBridge): self.merged_work.changed.watch(lambda _: self.new_work_event.happened()) self.node.best_share_var.changed.watch(lambda _: self.new_work_event.happened()) + def stop(self): + self.running = False + def get_stale_counts(self): '''Returns (orphans, doas), total, (orphans_recorded_in_chain, doas_recorded_in_chain)''' my_shares = len(self.my_share_hashes)