Delete expired sent offers in background worker thread (#465)

This commit is contained in:
Jonathan Zernik 2020-11-15 14:47:52 -05:00 committed by GitHub
parent 2a90e3f1b6
commit 9d10acc4e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 0 deletions

View file

@ -992,6 +992,17 @@ class SqueakDb:
sent_offer = self._parse_sent_offer(row)
return sent_offer
def delete_expired_sent_offers(self):
""" Delete all expired sent offers. """
s = self.sent_offers.delete().where(
datetime.utcnow().timestamp()
> self.sent_offers.c.invoice_timestamp + self.sent_offers.c.invoice_expiry
)
with self.get_connection() as connection:
res = connection.execute(s)
deleted_sent_offers = res.rowcount
return deleted_sent_offers
# def mark_sent_offer_paid(self, preimage_hash, settle_index):
# """ Mark a single received payment as paid. """
# stmt = (

View file

@ -369,6 +369,12 @@ class SqueakController:
if num_expired_offers > 0:
logger.info("Deleted number of offers: {}".format(num_expired_offers))
def delete_all_expired_sent_offers(self):
logger.debug("Deleting expired sent offers.")
num_expired_sent_offers = self.squeak_db.delete_expired_offers()
if num_expired_sent_offers > 0:
logger.info("Deleted number of sent offers: {}".format(num_expired_sent_offers))
def verify_all_unverified_squeaks(self):
self.squeak_block_verifier.verify_all_unverified_squeaks()

View file

@ -22,3 +22,4 @@ class SqueakOfferExpiryWorker:
def remove_expired_offers(self):
self.squeak_controller.delete_all_expired_offers()
self.squeak_controller.delete_all_expired_sent_offers()