Spaces:
Sleeping
Sleeping
Oscar Wang commited on
Update app.py
Browse files
app.py
CHANGED
|
@@ -8,29 +8,37 @@ import logging
|
|
| 8 |
import json
|
| 9 |
import threading
|
| 10 |
import psutil
|
|
|
|
| 11 |
|
| 12 |
# Configure logging
|
| 13 |
logging.basicConfig(level=logging.INFO)
|
| 14 |
logger = logging.getLogger(__name__)
|
| 15 |
|
|
|
|
|
|
|
|
|
|
| 16 |
connected_cpus = {}
|
| 17 |
|
| 18 |
-
#
|
| 19 |
-
|
|
|
|
|
|
|
| 20 |
host = data['host']
|
| 21 |
cpu_count = data['cpu_count']
|
| 22 |
connected_cpus[host] = {"cpu_count": cpu_count, "usage": 0.0}
|
| 23 |
logger.info(f"CPU donated by {host} with {cpu_count} CPUs.")
|
| 24 |
-
return
|
| 25 |
|
| 26 |
-
#
|
| 27 |
-
|
|
|
|
|
|
|
| 28 |
host = data['host']
|
| 29 |
usage = data['usage']
|
| 30 |
if host in connected_cpus:
|
| 31 |
connected_cpus[host]['usage'] = usage
|
| 32 |
logger.info(f"Updated CPU usage for {host}: {usage}%")
|
| 33 |
-
return
|
| 34 |
|
| 35 |
# Function to run the provided Python script using MPI
|
| 36 |
def run_script(script_name, folder_path):
|
|
@@ -103,6 +111,8 @@ def gradio_interface():
|
|
| 103 |
|
| 104 |
iface.launch()
|
| 105 |
|
| 106 |
-
# Launch the Gradio interface
|
| 107 |
if __name__ == "__main__":
|
| 108 |
gradio_interface()
|
|
|
|
|
|
|
|
|
| 8 |
import json
|
| 9 |
import threading
|
| 10 |
import psutil
|
| 11 |
+
from flask import Flask, request, jsonify
|
| 12 |
|
| 13 |
# Configure logging
|
| 14 |
logging.basicConfig(level=logging.INFO)
|
| 15 |
logger = logging.getLogger(__name__)
|
| 16 |
|
| 17 |
+
# Initialize Flask app
|
| 18 |
+
app = Flask(__name__)
|
| 19 |
+
|
| 20 |
connected_cpus = {}
|
| 21 |
|
| 22 |
+
# Endpoint to donate CPU resources
|
| 23 |
+
@app.route('/donate_cpu', methods=['POST'])
|
| 24 |
+
def donate_cpu_handler():
|
| 25 |
+
data = request.get_json()
|
| 26 |
host = data['host']
|
| 27 |
cpu_count = data['cpu_count']
|
| 28 |
connected_cpus[host] = {"cpu_count": cpu_count, "usage": 0.0}
|
| 29 |
logger.info(f"CPU donated by {host} with {cpu_count} CPUs.")
|
| 30 |
+
return jsonify({"status": "success", "message": f"CPU donated by {host}"})
|
| 31 |
|
| 32 |
+
# Endpoint to update CPU usage
|
| 33 |
+
@app.route('/update_cpu_usage', methods=['POST'])
|
| 34 |
+
def update_cpu_usage_handler():
|
| 35 |
+
data = request.get_json()
|
| 36 |
host = data['host']
|
| 37 |
usage = data['usage']
|
| 38 |
if host in connected_cpus:
|
| 39 |
connected_cpus[host]['usage'] = usage
|
| 40 |
logger.info(f"Updated CPU usage for {host}: {usage}%")
|
| 41 |
+
return jsonify({"status": "success"})
|
| 42 |
|
| 43 |
# Function to run the provided Python script using MPI
|
| 44 |
def run_script(script_name, folder_path):
|
|
|
|
| 111 |
|
| 112 |
iface.launch()
|
| 113 |
|
| 114 |
+
# Launch the Gradio interface using Flask's run method
|
| 115 |
if __name__ == "__main__":
|
| 116 |
gradio_interface()
|
| 117 |
+
# Uncomment the line below if using Flask's run method for local testing
|
| 118 |
+
# app.run(host='0.0.0.0', port=7860)
|