Skip to content

2024 06 08

오늘의 계획

  • scheduler loop 화 성공시키기
  • 다른건 욕심!

진행

  • 오랫만에 재개, 지난번에 완성을 못 했었다. 기억을 되살리는데만 해도 시간이 들 듯
  • readme.md 에 써있는 내용으로 시작. 기억과 다르게 스케쥴러의 loop 화는 일단은 이미 성공 했다.
  • 문제라면 스케쥴링 루프가 곧 작업을 처리하는 코드이기도 하다는 것. 이건 사실 당연한게 uvicorn 이벤트 루프는 단일 프로세스니까....
  • 작업 자체가 작동하는건 다른 프로세스로 보내버려야 한다.
  • sqlite 접근은 uvicorn 이벤트 루프에게 그대로 맡겨야 한다.
  • 그래야 목표한 sqlite 로 여러 작업 처리 하는 방식이 가능하다..!
  • Sequential executor 를 교체해야 할 것 같다는 아이디어가 나옴.
  • AsgiExecutor 라는 이름을 만들고, custom executor 설정으로 실행 시킬 수 있음을 확인. (이름 갈이만 함)
  • loop.run_in_executor 를 이용해 process pool 로 넘겨야 한다.
  • Executing command: ['airflow', 'tasks', 'run', 'example_branch_dop_operator_v3', ... 를 보니 --raw 옵션이 없다. 즉, sqlite 접근을 할 것 이다.
  • 예전 기억이 맞나 확인해보니 맞다. --raw 옵션을 넣어야 LocalJob 을 안 만든다. db 접근을 안하고 싶다면 --raw 가 필요하다.

결과

  • 불필요한 죽은 코드를 정리했다.
  • AsgiExecutor 란걸 만들 필요가 있다는걸 확인했다. 계획을 세웠다.