queue_consumer.go 532 B

1234567891011121314151617181920
  1. package queue
  2. import "time"
  3. // queue consumer interface
  4. // for a message queue consumer implements
  5. type QueueConsumer interface {
  6. // get current topic
  7. GetTopic() string
  8. // subscribe the topic
  9. Subscribe() error
  10. // subscribe with partitions, partitions is topics
  11. SubscribeWithPartitions(partitions []*TopicPartitionInfo) error
  12. // unsubscribe
  13. UnSubscribe()
  14. // pop message from queue with time duration
  15. Pop(time time.Duration) (<- chan QueueMessage, error)
  16. // commit a message to queue if it is necessary
  17. Commit() error
  18. }