pytot(Publish Your Topic on Time) 은 당신이 발생한 토픽을 원하는 시간에 맞춰 발행할 수 있게해주는 효과적인 도구입니다.
이 도구를 이용해 아래와 같은 작업을 효과적으로 수행할 수 있습니다:
- 특정 시간에 맞춰 블로그 포스트, 뉴스레터, 소셜 미디어 게시물 등을 예약 발행
- 정기적인 업데이트나 공지사항을 자동으로 발행
- 시간에 민감한 콘텐츠를 적시에 공유
- 마케팅 캠페인이나 이벤트 홍보를 위한 콘텐츠 예약
당신이 특정 토픽에 대해 미리 주기를 설정하지 않은 경우에는 기본적으로 즉시 토픽이 발행됩니다.
주기는 초, 분, 시간, 일, 주, 월 단위로 설정할 수 있고, 스프링 표기법을 지원합니다.
예를 들어, 매주 월요일 오전 9시에 발행하고 싶다면 0 9 * * 1로 설정할 수 있습니다.
주기적으로 토픽을 발행하는 방법도 있지만, 특정 시간에 맞춰 발행하는 것이 더 중요할 때가 많습니다.
예를 들어, 사용자별로 메시지를 예약 발행하거나, 특정 이벤트에 맞춰 콘텐츠를 발행하는 경우가 그렇습니다.
이러한 경우, pytot은 매우 유용한 도구가 될 수 있습니다.
Kafka의 헤더에 pytot-schedule-time 키를 사용하여 원하는 발행 시간을 지정할 수 있습니다.
이 헤더는 ISO 8601 형식을 지원하여 2023-12-25T10:00:00Z와 같이 ISO 8601 형식으로 시간을 지정할 수 있습니다.
당신은 이제 이벤트 발행과 이벤트 소비에만 집중하세요!
토픽은 저희가 제때 발행할게요 :)
┌─────────────┐
│ Producer │
│ (Your App) │
└──────┬──────┘
│ Send message with pytot headers
▼
┌─────────────────────────────────┐
│ PYTOT Service │
│ ┌──────────────────────────┐ │
│ │ Kafka Consumer │ │
│ └────────┬─────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────┐ │
│ │ Schedule Manager │ │
│ │ - Parse headers │ │
│ │ - Store in MongoDB │ │
│ └────────┬─────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────┐ │
│ │ Scheduler │ │
│ │ - Check due messages │ │
│ │ - Publish on time │ │
│ └────────┬─────────────────┘ │
└───────────┼─────────────────────┘
│
▼
┌──────────────┐
│ Kafka Topic │
│ (Your Topic) │
└──────┬───────┘
│
▼
┌──────────────┐
│ Consumer │
│ (Your App) │
└──────────────┘