github.com/SupersunnySea/draft@v0.16.0/pkg/builder/ulid.go (about) 1 package builder 2 3 import ( 4 "math/rand" 5 "time" 6 7 "github.com/oklog/ulid" 8 ) 9 10 func getulid() string { return <-ulidc } 11 12 // A channel which returns build ulids. 13 var ulidc = make(chan string) 14 15 func init() { 16 rnd := rand.New(rand.NewSource(time.Now().UTC().UnixNano())) 17 go func() { 18 for { 19 ulidc <- ulid.MustNew(ulid.Timestamp(time.Now().UTC()), rnd).String() 20 } 21 }() 22 }