keep-alive / app.py
ayush-thakur02's picture
Update app.py
3f93d5d verified
import requests
import time
import threading
import gradio as gr
# Define the URL of the website you want to keep active
url = "https://baseline-btn5.onrender.com/"
# Define the interval in seconds (5 minutes to ensure it's active before 6 minutes)
interval = 5 * 60
# Variable to keep track of request counts
request_count = 0
def keep_site_active():
global request_count
while True:
try:
# Send a GET request to the website
response = requests.get(url)
# Check if the request was successful (status code 200)
if response.status_code == 200:
# print(f"Successfully accessed {url} - Status Code: {response.status_code}")
request_count += 1
else:
print(f"Failed to access {url} - Status Code: {response.status_code}")
except requests.RequestException as e:
print(f"An error occurred: {e}")
# Wait for the specified interval before making the next request
time.sleep(interval)
def get_request_count():
return request_count
def main():
# Start the site-keeping thread
threading.Thread(target=keep_site_active, daemon=True).start()
# Define the Gradio interface
with gr.Blocks() as demo:
gr.Markdown("# Website Request Tracker")
count_button = gr.Button("Get Request Count")
count_display = gr.Textbox(label="Number of Successful Requests")
count_button.click(fn=get_request_count, outputs=count_display)
demo.launch()
if __name__ == "__main__":
main()