This commit is contained in:
Jason
2026-04-11 00:04:09 -05:00
commit 7a2fffd62e
110 changed files with 51809 additions and 0 deletions
+111
View File
@@ -0,0 +1,111 @@
"""
Debug startup script - writes detailed logs to file
Upload this and temporarily set it as the startup file to diagnose issues
"""
import sys
import os
from datetime import datetime
# Create log file
log_file = '/home/bmdwtjuw/product-finder/startup_debug.log'
def log(message):
with open(log_file, 'a') as f:
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
f.write(f"[{timestamp}] {message}\n")
try:
log("="*70)
log("STARTUP DEBUG - BEGIN")
log("="*70)
# Python info
log(f"Python version: {sys.version}")
log(f"Python executable: {sys.executable}")
log(f"Current directory: {os.getcwd()}")
# Environment variables
log("\nEnvironment Variables:")
log(f" APPLICATION_ROOT: {os.environ.get('APPLICATION_ROOT', 'NOT SET')}")
log(f" FLASK_ENV: {os.environ.get('FLASK_ENV', 'NOT SET')}")
# Python path
log(f"\nPython path: {sys.path}")
# Check Flask installation
log("\nChecking Flask installation...")
try:
import flask
log(f" ✓ Flask version: {flask.__version__ if hasattr(flask, '__version__') else 'unknown'}")
except ImportError as e:
log(f" ✗ Flask NOT installed: {e}")
log(" RUN: pip install Flask==3.0.0 Werkzeug==3.0.1")
# Check Werkzeug
try:
import werkzeug
log(f" ✓ Werkzeug version: {werkzeug.__version__ if hasattr(werkzeug, '__version__') else 'unknown'}")
except ImportError as e:
log(f" ✗ Werkzeug NOT installed: {e}")
# Check if app.py exists
log("\nChecking files...")
app_py_path = os.path.join(os.path.dirname(__file__), 'app.py')
if os.path.exists(app_py_path):
log(f" ✓ app.py exists at {app_py_path}")
else:
log(f" ✗ app.py NOT FOUND at {app_py_path}")
# Try importing app
log("\nAttempting to import Flask app...")
try:
from app import app
log(f" ✓ Successfully imported Flask app")
log(f" APPLICATION_ROOT config: {app.config.get('APPLICATION_ROOT', 'NOT SET')}")
# Count routes
routes = list(app.url_map.iter_rules())
log(f" ✓ Registered routes: {len(routes)}")
# Create WSGI application
def application(environ, start_response):
log(f"\nRequest received: {environ.get('PATH_INFO', '/')}")
return app(environ, start_response)
log("\n✓ APPLICATION READY - Check site now")
log("="*70)
except Exception as e:
log(f" ✗ Failed to import app:")
log(f" Error: {e}")
import traceback
log(f"\nFull traceback:")
log(traceback.format_exc())
# Create error application
def application(environ, start_response):
status = '500 Internal Server Error'
output = f'Import Error - Check {log_file}\n\n{traceback.format_exc()}'.encode('utf-8')
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
log("="*70)
except Exception as e:
# Catch-all for any errors
import traceback
log(f"\nFATAL ERROR during startup:")
log(str(e))
log(traceback.format_exc())
log("="*70)
def application(environ, start_response):
status = '500 Internal Server Error'
output = f'Startup Error - Check {log_file}'.encode('utf-8')
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]