Skip to content

2024 05 07

오늘의 계획

  • 스케쥴러 프로세스를 이벤트 루프로 변환 할 수 있는지에 대한 간단한 검증 시작
  • state 에 flag 를 넣고 무한 루프를 돌리자. flag 가 변하면 루프를 끝내자.
  • flag 를 fastapi 에서 조회/변조 할 수 있는지 시험해보자.

해봤다!

state 에 flag 를 넣고 무한 루프를 돌리자. flag 가 변하면 루프를 끝내자. lifespan 내에서 처리하니까 되긴 한다. 즉, 적-절한 옵션이 함께 한다면 가능은 하다!

flag 를 fastapi 에서 조회/변조 할 수 있는지 시험해보자. 이건 한번에 달성 할 수 없었다. 값을 변경하려는 시도는 잘 작동하지 않았다. ASGI 스펙을 다시 읽어보니 state 는 전적으로 application 의 제어에 있으며, server는 얕은 복사만 수행한다고 되어 있다. 그렇다면 dict of dict 하면 변조가 된다는 얘기렸다? -> 된다.

오늘의 결론

  • job runner 를 잘 다듬으면 이벤트 루프로 변환 시킬 수 있다.
  • 그렇게 만든 새 루프와 메인 루틴의 통신은 변수로 가능하다. (같은 프로세스의 같은 스레드 이므로)
  • 한번 끄면 다시 켜는건 어려울 것 같다. pause 가 아니라 kill 이라 이름지어야 하겠다.