Alvinn-aai commited on
Commit
1345efb
Β·
1 Parent(s): 1f1ad34

switch to more responsive mechanism, update in the background

Browse files
Files changed (1) hide show
  1. app.py +21 -16
app.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  import gradio as gr
2
  from gradio_leaderboard import Leaderboard, ColumnFilter, SelectColumns
3
  import pandas as pd
@@ -47,13 +49,14 @@ def restart_space():
47
 
48
  def refresh_leaderboard_data():
49
  """Refresh the leaderboard data from the latest results"""
 
50
  try:
51
- logger.info("Loading latest leaderboard data...")
52
  new_leaderboard_df = get_leaderboard_df(RESULTS_REPO)
53
 
54
  if new_leaderboard_df is not None and not new_leaderboard_df.empty:
55
  logger.info("Leaderboard data refreshed successfully")
56
- return new_leaderboard_df
57
  else:
58
  logger.warning("No new leaderboard data found")
59
  return None
@@ -62,18 +65,6 @@ def refresh_leaderboard_data():
62
  return None
63
 
64
 
65
- lbdb = F1Data(cp_ds_name=CODE_PROBLEMS_REPO, sub_ds_name=SUBMISSIONS_REPO, res_ds_name=RESULTS_REPO, split=SPLIT)
66
-
67
-
68
- logger.info("Initialized LBDB")
69
-
70
- # (
71
- # finished_eval_queue_df,
72
- # running_eval_queue_df,
73
- # pending_eval_queue_df,
74
- # ) = get_evaluation_queue_df(EVAL_REQUESTS_PATH, EVAL_COLS)
75
-
76
-
77
  def init_leaderboard(dataframe):
78
  if dataframe is None or dataframe.empty:
79
  raise ValueError("Leaderboard DataFrame is empty or None.")
@@ -104,6 +95,19 @@ def init_leaderboard(dataframe):
104
  )
105
 
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  # Display image using Markdown
108
  # banner = "![Leaderboard Banner](file/assets/banner.png)"
109
 
@@ -144,7 +148,7 @@ with demo:
144
 
145
  with gr.Tabs(elem_classes="tab-buttons") as tabs:
146
  with gr.TabItem("πŸ… FormulaOne Leaderboard", elem_id="formulaone-leaderboar-tab-table", id=0):
147
- leaderboard_df = get_leaderboard_df(RESULTS_REPO)
148
  leaderboard_component = init_leaderboard(leaderboard_df)
149
 
150
  # with gr.TabItem("πŸ“ About", elem_id="llm-benchmark-tab-table", id=1):
@@ -261,12 +265,13 @@ with demo:
261
  # show_copy_button=True,
262
  # )
263
 
264
- demo.load(refresh_leaderboard_data, inputs=[], outputs=[leaderboard_component])
265
 
266
 
267
  logger.info("Scheduler")
268
  scheduler = BackgroundScheduler()
269
  scheduler.add_job(restart_space, "interval", seconds=1800)
 
270
  scheduler.start()
271
  logger.info("Launch")
272
  demo.queue(default_concurrency_limit=40).launch()
 
1
+ import random
2
+
3
  import gradio as gr
4
  from gradio_leaderboard import Leaderboard, ColumnFilter, SelectColumns
5
  import pandas as pd
 
49
 
50
  def refresh_leaderboard_data():
51
  """Refresh the leaderboard data from the latest results"""
52
+ global leaderboard_df
53
  try:
54
+ logger.info("Loading leaderboard data...")
55
  new_leaderboard_df = get_leaderboard_df(RESULTS_REPO)
56
 
57
  if new_leaderboard_df is not None and not new_leaderboard_df.empty:
58
  logger.info("Leaderboard data refreshed successfully")
59
+ leaderboard_df = new_leaderboard_df
60
  else:
61
  logger.warning("No new leaderboard data found")
62
  return None
 
65
  return None
66
 
67
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  def init_leaderboard(dataframe):
69
  if dataframe is None or dataframe.empty:
70
  raise ValueError("Leaderboard DataFrame is empty or None.")
 
95
  )
96
 
97
 
98
+ lbdb = F1Data(cp_ds_name=CODE_PROBLEMS_REPO, sub_ds_name=SUBMISSIONS_REPO, res_ds_name=RESULTS_REPO, split=SPLIT)
99
+
100
+ leaderboard_df = None
101
+
102
+ logger.info("Initialized LBDB")
103
+
104
+ # (
105
+ # finished_eval_queue_df,
106
+ # running_eval_queue_df,
107
+ # pending_eval_queue_df,
108
+ # ) = get_evaluation_queue_df(EVAL_REQUESTS_PATH, EVAL_COLS)
109
+
110
+
111
  # Display image using Markdown
112
  # banner = "![Leaderboard Banner](file/assets/banner.png)"
113
 
 
148
 
149
  with gr.Tabs(elem_classes="tab-buttons") as tabs:
150
  with gr.TabItem("πŸ… FormulaOne Leaderboard", elem_id="formulaone-leaderboar-tab-table", id=0):
151
+ refresh_leaderboard_data() # updates leaderboard_df
152
  leaderboard_component = init_leaderboard(leaderboard_df)
153
 
154
  # with gr.TabItem("πŸ“ About", elem_id="llm-benchmark-tab-table", id=1):
 
265
  # show_copy_button=True,
266
  # )
267
 
268
+ demo.load(lambda: leaderboard_df, inputs=[], outputs=[leaderboard_component])
269
 
270
 
271
  logger.info("Scheduler")
272
  scheduler = BackgroundScheduler()
273
  scheduler.add_job(restart_space, "interval", seconds=1800)
274
+ scheduler.add_job(refresh_leaderboard_data, "interval", seconds=120)
275
  scheduler.start()
276
  logger.info("Launch")
277
  demo.queue(default_concurrency_limit=40).launch()