Fix soft time limits in api tasks

This commit is contained in:
Reckless_Satoshi 2023-05-12 03:10:14 -07:00
parent eeb0094162
commit 70740750f5
No known key found for this signature in database
GPG Key ID: 9C4585B561315571

View File

@ -51,6 +51,8 @@ def users_cleansing():
def follow_send_payment(hash): def follow_send_payment(hash):
"""Sends sats to buyer, continuous update""" """Sends sats to buyer, continuous update"""
from datetime import timedelta
from decouple import config from decouple import config
from django.utils import timezone from django.utils import timezone
@ -73,12 +75,14 @@ def follow_send_payment(hash):
results = LNNode.follow_send_payment(lnpayment, fee_limit_sat, timeout_seconds) results = LNNode.follow_send_payment(lnpayment, fee_limit_sat, timeout_seconds)
except SoftTimeLimitExceeded: except SoftTimeLimitExceeded:
# If the 3 minutes have been consumed without follow_send_payment() # If the 175 seconds have been consumed without follow_send_payment()
# finishing (failed/successful) we set the last routing time as 'now' # returning, we set the last routing time as 'in 10 minutes'
# so the next check happens in 3 minutes, instead of right now. # so the next check happens in 10 minutes, instead of right now.
lnpayment.last_routing_time = timezone.now() lnpayment.last_routing_time = timezone.now() + timedelta(minutes=10)
lnpayment.save(update_fields=["last_routing_time"]) lnpayment.save(update_fields=["last_routing_time"])
print(f"Order: {lnpayment.order_paid_LN} SOFT TIME LIMIT REACHED. Hash: {hash}") print(
f"Order: {lnpayment.order_paid_LN.id} SOFT TIME LIMIT REACHED. Hash: {hash}"
)
results = {} results = {}
return results return results
@ -165,9 +169,6 @@ def cache_market():
try: try:
exchange_rates = get_exchange_rates(currency_codes) exchange_rates = get_exchange_rates(currency_codes)
except SoftTimeLimitExceeded:
print("SOFT LIMIT REACHED. Could not fetch current external market prices.")
return
if not exchange_rates: if not exchange_rates:
return return
@ -198,6 +199,10 @@ def cache_market():
return results return results
except SoftTimeLimitExceeded:
print("SOFT LIMIT REACHED. Could not fetch current external market prices.")
return
@shared_task(name="send_notification", ignore_result=True, time_limit=120) @shared_task(name="send_notification", ignore_result=True, time_limit=120)
def send_notification(order_id=None, chat_message_id=None, message=None): def send_notification(order_id=None, chat_message_id=None, message=None):