fix: Optimize memory management in debug_force_send and send_discord_message functions

This commit is contained in:
Aaron 2025-11-15 10:32:04 -05:00
parent ac860207d9
commit d670067b89

View File

@ -63,10 +63,20 @@ def debug_force_send(message):
except:
pass
try:
gc.collect()
import sys, gc
for m in ('urequests', 'ussl', 'ssl'):
if m in sys.modules:
try:
del sys.modules[m]
except:
pass
gc.collect(); gc.collect()
try:
print("DBG_FORCE: mem final:", getattr(gc, "mem_free", lambda: 0)() // 1024, "KB")
except:
pass
except:
pass
def set_config(cfg: dict):
"""Initialize module with minimal values from loaded config (call from main)."""
@ -174,14 +184,29 @@ def send_discord_message(message, username="Auto Garden Bot", is_alert=False, de
resp.close()
except:
pass
# remove local refs and unload heavy modules to free peak RAM (urequests, ussl/ssl)
try:
# remove large refs and force GC
if 'resp' in locals(): del resp
if 'body_bytes' in locals(): del body_bytes
if 'content' in locals(): del content
if 'user' in locals(): del user
if 'headers' in locals(): del headers
if 'requests' in locals(): del requests
except:
pass
try:
gc.collect()
import sys
# remove urequests and SSL modules from module cache so their memory can be reclaimed
for m in ('urequests', 'ussl', 'ssl'):
if m in sys.modules:
try:
del sys.modules[m]
except:
pass
except:
pass
try:
import gc
gc.collect(); gc.collect()
except:
pass