Skip to content

Commit e903320

Browse files
committed
优化:启动队列前检查数据目录是否存在
1 parent d982d6b commit e903320

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ import (
2828
func main() {
2929
// start
3030
diskqueue.Config.Path = "/tmp"
31-
queue := diskqueue.Start()
31+
queue, err := diskqueue.Start()
32+
if err != nil {
33+
log.Fatalln(err)
34+
}
3235
3336
// write data
3437
err := queue.Write([]byte("data"))

diskqueue.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package diskqueue
33
import (
44
"errors"
55
"io"
6+
"os"
67
"sync"
78
"time"
89
)
@@ -30,7 +31,11 @@ var (
3031
)
3132

3233
// Start diskqueue
33-
func Start() *Diskqueue {
34+
func Start() (*Diskqueue, error) {
35+
if _, err := os.Stat(Config.Path); err != nil {
36+
return nil, err
37+
}
38+
3439
queue := &Diskqueue{close: false}
3540
queue.ticker = time.NewTicker(Config.BatchTime)
3641
Reader.restore()
@@ -44,7 +49,8 @@ func Start() *Diskqueue {
4449
queue.Unlock()
4550
}
4651
}()
47-
return queue
52+
53+
return queue, nil
4854
}
4955

5056
// Write data

0 commit comments

Comments
 (0)