本文整理匯總了Golang中github.com/juju/juju/worker/uniter/operation.Factory.NewAction方法的典型用法代碼示例。如果您正苦於以下問題:Golang Factory.NewAction方法的具體用法?Golang Factory.NewAction怎麽用?Golang Factory.NewAction使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/juju/juju/worker/uniter/operation.Factory
的用法示例。
在下文中一共展示了Factory.NewAction方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: NextOp
// NextOp implements the resolver.Resolver interface.
func (r *actionsResolver) NextOp(
localState resolver.LocalState,
remoteState remotestate.Snapshot,
opFactory operation.Factory,
) (operation.Operation, error) {
nextAction, err := nextAction(remoteState.Actions, localState.CompletedActions)
if err != nil {
return nil, err
}
switch localState.Kind {
case operation.RunHook:
// We can still run actions if the unit is in a hook error state.
if localState.Step == operation.Pending {
return opFactory.NewAction(nextAction)
}
case operation.RunAction:
if localState.Hook != nil {
logger.Infof("found incomplete action %q; ignoring", localState.ActionId)
logger.Infof("recommitting prior %q hook", localState.Hook.Kind)
return opFactory.NewSkipHook(*localState.Hook)
} else {
logger.Infof("%q hook is nil", operation.RunAction)
return opFactory.NewFailAction(*localState.ActionId)
}
case operation.Continue:
return opFactory.NewAction(nextAction)
}
return nil, resolver.ErrNoOperation
}
示例2: NextOp
// NextOp implements the resolver.Resolver interface.
func (r *actionsResolver) NextOp(
localState resolver.LocalState,
remoteState remotestate.Snapshot,
opFactory operation.Factory,
) (operation.Operation, error) {
nextAction, err := nextAction(remoteState.Actions, localState.CompletedActions)
if err != nil {
return nil, err
}
switch localState.Kind {
case operation.RunHook:
// We can still run actions if the unit is in a hook error state.
if localState.Step == operation.Pending {
return opFactory.NewAction(nextAction)
}
case operation.RunAction:
// TODO(fwereade): we *should* handle interrupted actions, and make sure
// they're marked as failed, but that's not for now.
if localState.Hook != nil {
logger.Infof("found incomplete action %q; ignoring", localState.ActionId)
logger.Infof("recommitting prior %q hook", localState.Hook.Kind)
return opFactory.NewSkipHook(*localState.Hook)
} else {
logger.Infof("%q hook is nil", operation.RunAction)
}
case operation.Continue:
return opFactory.NewAction(nextAction)
}
return nil, resolver.ErrNoOperation
}