Merge pull request #2971 from lbryio/faster-publish
Speed up publish response time by not blocking on updating the content claim db
This commit is contained in:
commit
07f7a77ac0
2 changed files with 23 additions and 15 deletions
|
@ -2571,9 +2571,9 @@ class Daemon(metaclass=JSONRPCServerType):
|
||||||
account.add_channel_private_key(txo.private_key)
|
account.add_channel_private_key(txo.private_key)
|
||||||
wallet.save()
|
wallet.save()
|
||||||
await self.broadcast_or_release(tx, blocking)
|
await self.broadcast_or_release(tx, blocking)
|
||||||
await self.storage.save_claims([self._old_get_temp_claim_info(
|
self.component_manager.loop.create_task(self.storage.save_claims([self._old_get_temp_claim_info(
|
||||||
tx, txo, claim_address, claim, name, dewies_to_lbc(amount)
|
tx, txo, claim_address, claim, name, dewies_to_lbc(amount)
|
||||||
)])
|
)]))
|
||||||
self.component_manager.loop.create_task(self.analytics_manager.send_new_channel())
|
self.component_manager.loop.create_task(self.analytics_manager.send_new_channel())
|
||||||
else:
|
else:
|
||||||
await account.ledger.release_tx(tx)
|
await account.ledger.release_tx(tx)
|
||||||
|
@ -2727,9 +2727,9 @@ class Daemon(metaclass=JSONRPCServerType):
|
||||||
account.add_channel_private_key(new_txo.private_key)
|
account.add_channel_private_key(new_txo.private_key)
|
||||||
wallet.save()
|
wallet.save()
|
||||||
await self.broadcast_or_release(tx, blocking)
|
await self.broadcast_or_release(tx, blocking)
|
||||||
await self.storage.save_claims([self._old_get_temp_claim_info(
|
self.component_manager.loop.create_task(self.storage.save_claims([self._old_get_temp_claim_info(
|
||||||
tx, new_txo, claim_address, new_txo.claim, new_txo.claim_name, dewies_to_lbc(amount)
|
tx, new_txo, claim_address, new_txo.claim, new_txo.claim_name, dewies_to_lbc(amount)
|
||||||
)])
|
)]))
|
||||||
self.component_manager.loop.create_task(self.analytics_manager.send_new_channel())
|
self.component_manager.loop.create_task(self.analytics_manager.send_new_channel())
|
||||||
else:
|
else:
|
||||||
await account.ledger.release_tx(tx)
|
await account.ledger.release_tx(tx)
|
||||||
|
@ -3264,10 +3264,14 @@ class Daemon(metaclass=JSONRPCServerType):
|
||||||
|
|
||||||
if not preview:
|
if not preview:
|
||||||
await self.broadcast_or_release(tx, blocking)
|
await self.broadcast_or_release(tx, blocking)
|
||||||
await self.storage.save_claims([self._old_get_temp_claim_info(
|
|
||||||
tx, new_txo, claim_address, claim, name, dewies_to_lbc(amount)
|
async def save_claims():
|
||||||
)])
|
await self.storage.save_claims([self._old_get_temp_claim_info(
|
||||||
await self.storage.save_content_claim(file_stream.stream_hash, new_txo.id)
|
tx, new_txo, claim_address, claim, name, dewies_to_lbc(amount)
|
||||||
|
)])
|
||||||
|
await self.storage.save_content_claim(file_stream.stream_hash, new_txo.id)
|
||||||
|
|
||||||
|
self.component_manager.loop.create_task(save_claims())
|
||||||
self.component_manager.loop.create_task(self.analytics_manager.send_claim_action('publish'))
|
self.component_manager.loop.create_task(self.analytics_manager.send_claim_action('publish'))
|
||||||
else:
|
else:
|
||||||
await account.ledger.release_tx(tx)
|
await account.ledger.release_tx(tx)
|
||||||
|
@ -3482,11 +3486,15 @@ class Daemon(metaclass=JSONRPCServerType):
|
||||||
|
|
||||||
if not preview:
|
if not preview:
|
||||||
await self.broadcast_or_release(tx, blocking)
|
await self.broadcast_or_release(tx, blocking)
|
||||||
await self.storage.save_claims([self._old_get_temp_claim_info(
|
|
||||||
tx, new_txo, claim_address, new_txo.claim, new_txo.claim_name, dewies_to_lbc(amount)
|
async def save_claims():
|
||||||
)])
|
await self.storage.save_claims([self._old_get_temp_claim_info(
|
||||||
if stream_hash:
|
tx, new_txo, claim_address, new_txo.claim, new_txo.claim_name, dewies_to_lbc(amount)
|
||||||
await self.storage.save_content_claim(stream_hash, new_txo.id)
|
)])
|
||||||
|
if stream_hash:
|
||||||
|
await self.storage.save_content_claim(stream_hash, new_txo.id)
|
||||||
|
|
||||||
|
self.component_manager.loop.create_task(save_claims())
|
||||||
self.component_manager.loop.create_task(self.analytics_manager.send_claim_action('publish'))
|
self.component_manager.loop.create_task(self.analytics_manager.send_claim_action('publish'))
|
||||||
else:
|
else:
|
||||||
await account.ledger.release_tx(tx)
|
await account.ledger.release_tx(tx)
|
||||||
|
|
|
@ -149,7 +149,6 @@ class ClientSession(BaseClientSession):
|
||||||
self.response_time = None
|
self.response_time = None
|
||||||
self.connection_latency = None
|
self.connection_latency = None
|
||||||
self._response_samples = 0
|
self._response_samples = 0
|
||||||
self.pending_amount = 0
|
|
||||||
self._on_disconnect_controller.add(True)
|
self._on_disconnect_controller.add(True)
|
||||||
|
|
||||||
|
|
||||||
|
@ -285,12 +284,13 @@ class Network:
|
||||||
|
|
||||||
async def subscribe_address(self, address, *addresses):
|
async def subscribe_address(self, address, *addresses):
|
||||||
addresses = list((address, ) + addresses)
|
addresses = list((address, ) + addresses)
|
||||||
|
server_addr_and_port = self.client.server_address_and_port # on disconnect client will be None
|
||||||
try:
|
try:
|
||||||
return await self.rpc('blockchain.address.subscribe', addresses, True)
|
return await self.rpc('blockchain.address.subscribe', addresses, True)
|
||||||
except asyncio.TimeoutError:
|
except asyncio.TimeoutError:
|
||||||
log.warning(
|
log.warning(
|
||||||
"timed out subscribing to addresses from %s:%i",
|
"timed out subscribing to addresses from %s:%i",
|
||||||
*self.client.server_address_and_port
|
*server_addr_and_port
|
||||||
)
|
)
|
||||||
# abort and cancel, we can't lose a subscription, it will happen again on reconnect
|
# abort and cancel, we can't lose a subscription, it will happen again on reconnect
|
||||||
if self.client:
|
if self.client:
|
||||||
|
|
Loading…
Add table
Reference in a new issue