go-diskqueue
                                
                                
                                
                                    go-diskqueue copied to clipboard
                            
                            
                            
                        A Go package providing a filesystem-backed FIFO queue
I use diskqueue as a staging local queue before pushing to Kafka. I use `sarama` go kafka library for Kafka part. I need to have high reliability of delivery, and...
This happens when write/read operations are done concurrently and the queue buffer file is rolled
Reproduction as unit test: https://github.com/nsqio/go-diskqueue/pull/37
Right now new data `Put()` would fail if disk is out of space. It would be great to have an option to 1. limit the total disk space consumed by...
This supports nsqio/nsq#1305
The current diskqueue implementation does not discriminate between different types of errors returned by `os.OpenFile()`. We experienced a problem in production where an nsqd host ran out of file descriptors...
```ruby func (d *diskQueue) exit(deleted bool) error { d.Lock() defer d.Unlock() d.exitFlag = 1 if deleted { d.logf(INFO, "DISKQUEUE(%s): deleting", d.name) } else { d.logf(INFO, "DISKQUEUE(%s): closing", d.name) } close(d.exitChan)...
Consistent EOF error happens if the reading position is keeping up with the writing position and if the write rolls a file, then read will throw an EOF error since...
This is to address issue https://github.com/nsqio/go-diskqueue/issues/42