announcer goes idle if no peers in routing table
This commit is contained in:
parent
f02df86709
commit
6f06026511
2 changed files with 5 additions and 2 deletions
lbrynet/dht
|
@ -33,6 +33,10 @@ class BlobAnnouncer:
|
||||||
while batch_size:
|
while batch_size:
|
||||||
if not self.node.joined.is_set():
|
if not self.node.joined.is_set():
|
||||||
await self.node.joined.wait()
|
await self.node.joined.wait()
|
||||||
|
await asyncio.sleep(60)
|
||||||
|
if not self.node.protocol.routing_table.get_peers():
|
||||||
|
log.warning("No peers in DHT, announce round skipped")
|
||||||
|
continue
|
||||||
self.announce_queue.extend(await self.storage.get_blobs_to_announce())
|
self.announce_queue.extend(await self.storage.get_blobs_to_announce())
|
||||||
log.debug("announcer task wake up, %d blobs to announce", len(self.announce_queue))
|
log.debug("announcer task wake up, %d blobs to announce", len(self.announce_queue))
|
||||||
while len(self.announce_queue):
|
while len(self.announce_queue):
|
||||||
|
@ -45,7 +49,6 @@ class BlobAnnouncer:
|
||||||
if announced:
|
if announced:
|
||||||
await self.storage.update_last_announced_blobs(announced)
|
await self.storage.update_last_announced_blobs(announced)
|
||||||
log.info("announced %i blobs", len(announced))
|
log.info("announced %i blobs", len(announced))
|
||||||
await asyncio.sleep(60)
|
|
||||||
|
|
||||||
def start(self, batch_size: typing.Optional[int] = 10):
|
def start(self, batch_size: typing.Optional[int] = 10):
|
||||||
assert not self.announce_task or self.announce_task.done(), "already running"
|
assert not self.announce_task or self.announce_task.done(), "already running"
|
||||||
|
|
|
@ -91,7 +91,7 @@ class Node:
|
||||||
log.info("Stored %s to %i of %i attempted peers", binascii.hexlify(hash_value).decode()[:8],
|
log.info("Stored %s to %i of %i attempted peers", binascii.hexlify(hash_value).decode()[:8],
|
||||||
len(stored_to), len(peers))
|
len(stored_to), len(peers))
|
||||||
else:
|
else:
|
||||||
log.warning("Failed announcing %s, stored to 0 peers")
|
log.warning("Failed announcing %s, stored to 0 peers", blob_hash[:8])
|
||||||
return stored_to
|
return stored_to
|
||||||
|
|
||||||
def stop(self) -> None:
|
def stop(self) -> None:
|
||||||
|
|
Loading…
Add table
Reference in a new issue