Abhishek Thakur commited on
Commit
23a1930
·
1 Parent(s): 2e613eb

mark sub as failed

Browse files
Files changed (1) hide show
  1. competitions/runner.py +30 -0
competitions/runner.py CHANGED
@@ -100,6 +100,33 @@ class JobRunner:
100
  repo_type="dataset",
101
  )
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  def run_local(self, team_id, submission_id, submission_repo):
104
  self._queue_submission(team_id, submission_id)
105
  eval_params = {
@@ -197,5 +224,8 @@ class JobRunner:
197
  logger.error(
198
  f"Failed to create space for {team_id} {submission_id} {submission_repo} {space_id}: {e}"
199
  )
 
 
 
200
  continue
201
  time.sleep(5)
 
100
  repo_type="dataset",
101
  )
102
 
103
+ def mark_submission_failed(self, team_id, submission_id):
104
+ team_fname = hf_hub_download(
105
+ repo_id=self.competition_id,
106
+ filename=f"submission_info/{team_id}.json",
107
+ token=self.token,
108
+ repo_type="dataset",
109
+ )
110
+ with open(team_fname, "r", encoding="utf-8") as f:
111
+ team_submission_info = json.load(f)
112
+
113
+ for submission in team_submission_info["submissions"]:
114
+ if submission["submission_id"] == submission_id:
115
+ submission["status"] = SubmissionStatus.FAILED.value
116
+ break
117
+
118
+ team_submission_info_json = json.dumps(team_submission_info, indent=4)
119
+ team_submission_info_json_bytes = team_submission_info_json.encode("utf-8")
120
+ team_submission_info_json_buffer = io.BytesIO(team_submission_info_json_bytes)
121
+
122
+ api = HfApi(token=self.token)
123
+ api.upload_file(
124
+ path_or_fileobj=team_submission_info_json_buffer,
125
+ path_in_repo=f"submission_info/{team_id}.json",
126
+ repo_id=self.competition_id,
127
+ repo_type="dataset",
128
+ )
129
+
130
  def run_local(self, team_id, submission_id, submission_repo):
131
  self._queue_submission(team_id, submission_id)
132
  eval_params = {
 
224
  logger.error(
225
  f"Failed to create space for {team_id} {submission_id} {submission_repo} {space_id}: {e}"
226
  )
227
+ # mark submission as failed
228
+ self.mark_submission_failed(team_id, submission_id)
229
+ logger.error(f"Marked submission {submission_id} as failed.")
230
  continue
231
  time.sleep(5)