Share a thread-safe FIFO Stack across multiple hosts. HA Stack use Redis as backend and helps you to push and pop elements in your stack.
Each stack have a logical name, a is accessible through redis.
stack, err := hastack.Connect("mystack", "localhost:6379", "", 3, 100)
stack, _ := hastack.Connect("mystack", "localhost:6379", "", 3, 100)
var data myData{
...,
}
s.Push(data)
stack, _ := hastack.Connect("mystack", "localhost:6379", "", 3, 100)
var data myData{}
err := s.Pop(&data) //can be nil is there is no data in the stack
stack, _ = hastack.Connect("mystack", "localhost:6379", "", 3, 100)
var data myData{}
err := s.BPop(&data) //This will block the thread until data can be poped