本文整理汇总了Golang中github.com/coreos/fleet/unit.UnitFile.String方法的典型用法代码示例。如果您正苦于以下问题:Golang UnitFile.String方法的具体用法?Golang UnitFile.String怎么用?Golang UnitFile.String使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/coreos/fleet/unit.UnitFile
的用法示例。
在下文中一共展示了UnitFile.String方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: storeOrGetUnitFile
func (r *EtcdRegistry) storeOrGetUnitFile(u unit.UnitFile) (err error) {
um := unitModel{
Raw: u.String(),
}
val, err := marshal(um)
if err != nil {
return err
}
key := r.hashedUnitPath(u.Hash())
opts := &etcd.SetOptions{
PrevExist: etcd.PrevNoExist,
}
start := time.Now()
_, err = r.kAPI.Set(context.Background(), key, val, opts)
// unit is already stored
if isEtcdError(err, etcd.ErrorCodeNodeExist) {
// TODO(jonboulle): verify more here?
err = nil
}
if err != nil {
metrics.ReportRegistryOpFailure(metrics.Set)
return
}
metrics.ReportRegistryOpSuccess(metrics.Set, start)
return
}
示例2: Load
// Load writes the given Unit to disk, subscribing to relevant dbus
// events, caching the Unit's Hash, and, if necessary, instructing the systemd
// daemon to reload.
func (m *systemdUnitManager) Load(name string, u unit.UnitFile) error {
m.mutex.Lock()
defer m.mutex.Unlock()
err := m.writeUnit(name, u.String())
if err != nil {
return err
}
m.hashes[name] = u.Hash()
if m.unitRequiresDaemonReload(name) {
return m.daemonReload()
}
return nil
}
示例3: Load
// Load writes the given Unit to disk, subscribing to relevant dbus
// events and caching the Unit's Hash.
func (m *systemdUnitManager) Load(name string, u unit.UnitFile) error {
m.mutex.Lock()
defer m.mutex.Unlock()
err := m.writeUnit(name, u.String())
if err != nil {
return err
}
if _, exists := u.Contents["Install"]; exists {
log.Debugf("Detected [Install] section in the systemd unit (%s)", name)
ok, err := m.enableUnit(name)
if err != nil || !ok {
m.removeUnit(name)
return fmt.Errorf("Failed to enable systemd unit %s: %v", name, err)
}
}
m.hashes[name] = u.Hash()
return nil
}
示例4: storeOrGetUnitFile
func (r *EtcdRegistry) storeOrGetUnitFile(u unit.UnitFile) (err error) {
um := unitModel{
Raw: u.String(),
}
val, err := marshal(um)
if err != nil {
return err
}
key := r.hashedUnitPath(u.Hash())
opts := &etcd.SetOptions{
PrevExist: etcd.PrevNoExist,
}
_, err = r.kAPI.Set(r.ctx(), key, val, opts)
// unit is already stored
if isEtcdError(err, etcd.ErrorCodeNodeExist) {
// TODO(jonboulle): verify more here?
err = nil
}
return
}
示例5: storeOrGetUnitFile
func (r *EtcdRegistry) storeOrGetUnitFile(u unit.UnitFile) (err error) {
um := unitModel{
Raw: u.String(),
}
json, err := marshal(um)
if err != nil {
return err
}
req := etcd.Create{
Key: r.hashedUnitPath(u.Hash()),
Value: json,
}
_, err = r.etcd.Do(&req)
// unit is already stored
if err != nil && isNodeExist(err) {
// TODO(jonboulle): verify more here?
err = nil
}
return
}