code: func ID(root string) (string, error) {
  	f := filepath.Join(root, "workerid")
  	b, err := ioutil.ReadFile(f)
  	if err != nil {
  		if os.IsNotExist(err) {
  			id := identity.NewID()
  			err := ioutil.WriteFile(f, []byte(id), 0400)
  			return id, err
  		} else {
  			return "", err
  		}
  	}
  	return string(b), nil
  }
docs: // ID reads the worker id from the `workerid` file.
  // If not exist, it creates a random one,