Skip to content

Instantly share code, notes, and snippets.

@yobayob
Created May 4, 2018 15:49
Show Gist options
  • Save yobayob/55d838f93355bbf7a4b1aad3314348ac to your computer and use it in GitHub Desktop.
Save yobayob/55d838f93355bbf7a4b1aad3314348ac to your computer and use it in GitHub Desktop.
package main
import (
"github.com/yobayob/goest-worker"
"path/filepath"
"os"
"log"
"io"
"crypto/sha256"
"encoding/hex"
"fmt"
"runtime"
)
func getSha1 (fp string) {
f, err := os.Open(fp)
if err != nil {
log.Println(err)
return
}
defer f.Close()
hasher := sha256.New()
if _, err := io.Copy(hasher, f); err != nil {
log.Println(err)
return
}
fmt.Println(fp, hex.EncodeToString(hasher.Sum(nil)))
}
func main() {
pool := goest_worker.New()
j := pool.NewJob(getSha1)
pool.Start(runtime.NumCPU())
filepath.Walk("/home", func(path string, info os.FileInfo, err error) error {
if info.IsDir() {
return nil
}
fmt.Println(path)
j.Run(path)
return nil
})
// infinite
m := make(chan int)
<- m
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment