파이썬 비동기(asyncio) 질문

조회수 450회

제가 구현하고자 하는 것의 개괄은

A클라이언트, B서버.

A는 X라는 node의 값을 실시간으로 받아오는데 이 값에 변화가 생기면 그 순간에만

B에 이를 알리고 싶습니다.

Q1. 실시간으로 받아오는 것을 무한루프 (예를 들면, while True: )로 해도 되는 것인지요.

Q2. 아니면 타이머를 걸어서 하는 것이 더 나은 선택일까요?.

Q3. X라는 node의 값에 변화가 있을 때만 A가 움직이게 하려고 알아 보다가 async까지 간 것인데.. async를 이용한 client로 변화의 감지를 할 수 있을 까요? 제 생각에는 결국에는 무한루프가 돌아가는 것은 같은데 무한루프가 변화를 감지한 순간에만 async로 B서버에 알릴 수 있지 않을까 싶어서요....

Q4. Q3처럼 구현 해보려고 하는데 무한루프 안에서 async 값을 보내버리면 무한루프가 자동으로 풀려버립니다. (반복을 하지 않아요) 이는 제가 async만의 특성을 잘 몰라서 그런 것 일 수도 있지만, 아니면 원래 coroutine같은 것은 무한루프를 빠져 나오는 것인지 궁금합니다. (타이머를 걸어도 async를 사용하면 타이머에따라 계속 반복하지 않고 딱 한 번만 수행 됩니다.)

  • http 를 사용하나요? http 라면 웹소켓이 좋을 것 같고...아니라면 MQ(메세지큐) 미들웨어를 활용하겠습니다. 정영훈 2020.5.4 22:23

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)