Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Commit
·
1a35a11
1
Parent(s):
6d7c674
protect submission db with lock
Browse files- src/submission/submit.py +15 -9
src/submission/submit.py
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
import time
|
2 |
from datetime import datetime, timezone, timedelta
|
3 |
import os
|
@@ -23,6 +24,8 @@ MIN_WAIT_TIME_PER_USER_HRS = 0.1 # TODO set to 24 for production
|
|
23 |
RATE_LIMIT_WINDOW_HRS = 24
|
24 |
MAX_SUBMISSIONS_PER_WINDOW = 10
|
25 |
|
|
|
|
|
26 |
|
27 |
def add_new_solutions(
|
28 |
lbdb: F1Data,
|
@@ -35,10 +38,11 @@ def add_new_solutions(
|
|
35 |
is_warmup_dataset: bool,
|
36 |
ensure_all_present: bool = False,
|
37 |
):
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
|
|
42 |
|
43 |
logger.info(f"Found {len(submitted_ids)} submissions")
|
44 |
|
@@ -115,11 +119,13 @@ def add_new_solutions(
|
|
115 |
}
|
116 |
|
117 |
ds = Dataset.from_pandas(submission_df).map(add_info)
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
|
|
|
|
123 |
|
124 |
return styled_message(
|
125 |
"Your request has been submitted to the evaluation queue!\n"
|
|
|
1 |
+
import threading
|
2 |
import time
|
3 |
from datetime import datetime, timezone, timedelta
|
4 |
import os
|
|
|
24 |
RATE_LIMIT_WINDOW_HRS = 24
|
25 |
MAX_SUBMISSIONS_PER_WINDOW = 10
|
26 |
|
27 |
+
submission_lock = threading.Lock()
|
28 |
+
|
29 |
|
30 |
def add_new_solutions(
|
31 |
lbdb: F1Data,
|
|
|
38 |
is_warmup_dataset: bool,
|
39 |
ensure_all_present: bool = False,
|
40 |
):
|
41 |
+
with submission_lock:
|
42 |
+
try:
|
43 |
+
submitted_ids = get_dataset_config_names(SUBMISSIONS_REPO, token=TOKEN)
|
44 |
+
except (DatasetNotFoundError, FileNotFoundError):
|
45 |
+
submitted_ids = []
|
46 |
|
47 |
logger.info(f"Found {len(submitted_ids)} submissions")
|
48 |
|
|
|
119 |
}
|
120 |
|
121 |
ds = Dataset.from_pandas(submission_df).map(add_info)
|
122 |
+
|
123 |
+
with submission_lock:
|
124 |
+
ds.push_to_hub(
|
125 |
+
SUBMISSIONS_REPO,
|
126 |
+
submission_id,
|
127 |
+
private=True,
|
128 |
+
)
|
129 |
|
130 |
return styled_message(
|
131 |
"Your request has been submitted to the evaluation queue!\n"
|