bluuebunny's picture
Update app.py
ebae87d verified
raw
history blame
1.29 kB
import subprocess # Run update_embeddings.py as subprocess
import time # Run update_embeddings.py periodically
import threading # in a separate thread
import gradio as gr # Create a Gradio interface so spaces doesnt timeout
from datetime import datetime
def log_message(message):
# Print message with a timestamp
print(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - {message}")
# Function to run update_embeddings.py periodically
def run_script_periodically(interval):
# Wait for the Gradio server to start
time.sleep(10)
while True:
log_message("Starting Updation")
# Run run.py as a subprocess
subprocess.run(["python", "update_embeddings.py"]) # Use "python3" if needed
log_message("Finished Updation")
# Wait for the specified interval before running again
time.sleep(interval)
# Function to greet the user
def greet(name):
return "Hello " + name + "!!"
# Specify the interval (in seconds)
interval_seconds = 60*60*24*2 # Run run.py every day
# Create a thread to run the script periodically
script_thread = threading.Thread(target=run_script_periodically, args=(interval_seconds,))
# Start the thread
script_thread.start()
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()