submit 버튼
(frontend_v2 > src > app > componenets > challenge > challengesubmit > challengesubmit.componenet.html)
submit 버튼 클릭시 formValidate() 실행
formValidate() 실행
(frontend_v2 > src > app > componenets > challenge > challengesubmit > challengesubmit.componenet.ts)
submission 횟수 remain시 첫번째 if문 들어감 → global.service.ts에 있는 formValidate 실행 → 모든 field가 다 차있는지 확인해서 callback
global.service.formValidate()
this.formSubmit (Upload라고 가정)
→ 모든 정보 FORM_DATA에 넣어서 저장
this.formSubmit에서 모든 정보가 잘 들어갔으면 isSubmitted가 true로 바뀜
여기로 페이지 이동
FE는 이게 끝이고
아니 왜 BE url이 안맞아...?...?
docker ps -d 했을 때
evalai_worker_1 이친구가 submission_worker 같은데..
docker-compose.yml 파일 보면
저 경로로 들어가면
이거를 실행시키는 듯
(뇌피셜) 아마도 docker 같이 실행시 이 worker는 항상 뒤에서 돌아가고 있을 것(근데 이게 submission 상황이라는걸 얘가 어떻게 알지..→status="running"으로 filtering(뇌피셜-항상 돌아가고 이걸로 필터링되는건가))
submission_worker.py를 분석하면 될거 같은데..........
큰 틀은 main → process_submission_callback → process_submission_message → run_submission(evaluate 함수 실행시키는 곳)
일단 main에서 jobs.model에서 불러온 Submission(데베)에서 status가 running인 것과 challenge id로 filtering 한 후에 process_submission_callback 실행
run_submission에서 evaluate 결과를 submission_output에 저장하고
그 결과를 잘 처리해서 leaderboard_data에 넣어주는데 이게 데베에 저장해주는거라 나중에 그냥 데베에서 결과 불러와서 리더보드 작성하는 듯
이때 LeaderboardData()는 위쪽에서 import한 challenges의 model이고
아래는 model 형태