1. submit 버튼

    (frontend_v2 > src > app > componenets > challenge > challengesubmit > challengesubmit.componenet.html)

    Untitled

    submit 버튼 클릭시 formValidate() 실행

  2. formValidate() 실행

    (frontend_v2 > src > app > componenets > challenge > challengesubmit > challengesubmit.componenet.ts)

    Untitled

    submission 횟수 remain시 첫번째 if문 들어감 → global.service.ts에 있는 formValidate 실행 → 모든 field가 다 차있는지 확인해서 callback

    this.formSubmit에서 모든 정보가 잘 들어갔으면 isSubmitted가 true로 바뀜

    Untitled

    여기로 페이지 이동

FE는 이게 끝이고


아니 왜 BE url이 안맞아...?...?


docker ps -d 했을 때

Untitled

evalai_worker_1 이친구가 submission_worker 같은데..

docker-compose.yml 파일 보면

Untitled

저 경로로 들어가면

Untitled

이거를 실행시키는 듯

(뇌피셜) 아마도 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 실행

Untitled

run_submission에서 evaluate 결과를 submission_output에 저장하고

Untitled

그 결과를 잘 처리해서 leaderboard_data에 넣어주는데 이게 데베에 저장해주는거라 나중에 그냥 데베에서 결과 불러와서 리더보드 작성하는 듯

Untitled

이때 LeaderboardData()는 위쪽에서 import한 challenges의 model이고

Untitled

아래는 model 형태

Untitled