작성
·
209
1
안녕하세요. celery 수업 잘 듣고 있습니다.
제가 수업 내용을 활용 하여 test 코드를 작성 중입니다.
구조는 publisher(kombu), broker(redis), consumer(celery) 구성하고 있습니다.
질문은 celery 에 task가 작업이 끝난 후 결과를 broker 알리면 publisher 가 ack 를 받아 처리하는 구조가 가능 할까요?
답변 2
0
안녕하세요 김홍근님,
좀 이해가 안되는데요, 보통 Celery가 Consumer인데 그 결과는 데이터베이스나 Redis에 저장됩니다. Publisher는 이러한 Celery에게 일을 시키는 역할이라 약간 반대가 되었는데요?
순차적인 Flow가 Publisher -> Broker -> Celery -> DB/Broker가 될거 같습니다만.. 제가 질문을 잘못 이해했다면 말씀해 주세요.
Publisher -> Broker -> Celery -> Broker -> Celery도 가능은 합니다만...
감사합니다.
안녕하세요 김홍근님,
퍼블리셔는 말그대로 이벤트를 만드는 역할입니다. 퍼블리셔가 다시 이벤트를 받는다는 말은 데이터베이스에서 결과 레코드를 확인한다는 식은 생각으로 읽혀지는데 그러려면 퍼블리셔가 주기적으로 상태를 확인해야할 듯합니다 ㅎㅎ