Enhance database backup with compression support and backward compatibility

- Added configurable compression for database backups using gzip streaming
- Implemented auto-detection in restore function for compressed and uncompressed formats
- Added performance optimizations including --single-transaction and --extended-insert
- Created configuration file for gradual feature rollout with safe defaults
- Added helper functions for checking system capabilities and configuration
- Included comprehensive test suite to verify backward compatibility
- Maintained 100% backward compatibility with existing backup infrastructure
This commit is contained in:
usmannasir
2025-10-14 19:54:11 +05:00
parent b6f20a6a5e
commit cac2e09fce
4 changed files with 597 additions and 53 deletions

View File

@@ -553,6 +553,21 @@ class ProcessUtilities(multi.Thread):
print("An error occurred:", e)
return None
@staticmethod
def getNumberOfCores():
"""Get the number of CPU cores available on the system"""
try:
import multiprocessing
return multiprocessing.cpu_count()
except:
try:
# Fallback method using /proc/cpuinfo
with open('/proc/cpuinfo', 'r') as f:
return len([line for line in f if line.startswith('processor')])
except:
# Default to 2 if we can't determine
return 2
@staticmethod
def fetch_latest_prestashop_version():
import requests