@@ -62,6 +62,24 @@ def register_launcher(self, launcher: Launcher):
6262 for gpu in launcher .gpus :
6363 self .launcher_map [gpu .value ] = launcher
6464
65+ def create_submission_record (
66+ self ,
67+ req : ProcessedSubmissionRequest ,
68+ mode : SubmissionMode ,
69+ ) -> int :
70+ with self .db as db :
71+ enforce_gpu_rate_limits (req , db )
72+ return db .create_submission (
73+ leaderboard = req .leaderboard ,
74+ file_name = req .file_name ,
75+ code = req .code ,
76+ user_id = req .user_id ,
77+ time = datetime .datetime .now (datetime .timezone .utc ),
78+ user_name = req .user_name ,
79+ mode_category = req .mode_category or get_mode_category (mode ),
80+ requested_gpus = req .gpus ,
81+ )
82+
6583 async def submit_full (
6684 self ,
6785 req : ProcessedSubmissionRequest ,
@@ -77,18 +95,7 @@ async def submit_full(
7795 if pre_sub_id is not None :
7896 sub_id = pre_sub_id
7997 else :
80- with self .db as db :
81- enforce_gpu_rate_limits (req , db )
82- sub_id = db .create_submission (
83- leaderboard = req .leaderboard ,
84- file_name = req .file_name ,
85- code = req .code ,
86- user_id = req .user_id ,
87- time = datetime .datetime .now (datetime .timezone .utc ),
88- user_name = req .user_name ,
89- mode_category = req .mode_category or get_mode_category (mode ),
90- requested_gpus = req .gpus ,
91- )
98+ sub_id = self .create_submission_record (req , mode )
9299 selected_gpus = [get_gpu_by_name (gpu ) for gpu in req .gpus ]
93100 submission_started = False
94101 try :
0 commit comments