Lint and document manager api
This commit is contained in:
parent
6ed7f269f1
commit
ad3d6b7fff
1 changed files with 17 additions and 8 deletions
|
@ -15,13 +15,14 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
// ErrExecTimeout represent a timeout error
|
||||
ErrExecTimeout = errors.New("Process execution timeout")
|
||||
)
|
||||
|
||||
// Common timeout.
|
||||
var (
|
||||
// DefaultTimeout is the timeout used by Exec* family
|
||||
// of function when timeout parameter is omitted or
|
||||
// passed as -1
|
||||
// NOTE: could be custom in config file for default.
|
||||
DEFAULT = 60 * time.Second
|
||||
DefaultTimeout = 60 * time.Second
|
||||
)
|
||||
|
||||
// Process represents a working process inherit from Gogs.
|
||||
|
@ -51,10 +52,13 @@ func Add(desc string, cmd *exec.Cmd) int64 {
|
|||
return pid
|
||||
}
|
||||
|
||||
// Exec starts executing a command in given path, it records its process and timeout.
|
||||
// ExecDir runs a command in given path and waits for its completion
|
||||
// up to the given timeout (or DefaultTimeout if -1 is given).
|
||||
// Returns its complete stdout and stderr
|
||||
// outputs and an error, if any (including timeout)
|
||||
func ExecDir(timeout time.Duration, dir, desc, cmdName string, args ...string) (string, string, error) {
|
||||
if timeout == -1 {
|
||||
timeout = DEFAULT
|
||||
timeout = DefaultTimeout
|
||||
}
|
||||
|
||||
bufOut := new(bytes.Buffer)
|
||||
|
@ -89,12 +93,17 @@ func ExecDir(timeout time.Duration, dir, desc, cmdName string, args ...string) (
|
|||
return bufOut.String(), bufErr.String(), err
|
||||
}
|
||||
|
||||
// Exec starts executing a command, it records its process and timeout.
|
||||
// ExecTimeout runs a command and waits for its completion
|
||||
// up to the given timeout (or DefaultTimeout if -1 is given).
|
||||
// Returns its complete stdout and stderr
|
||||
// outputs and an error, if any (including timeout)
|
||||
func ExecTimeout(timeout time.Duration, desc, cmdName string, args ...string) (string, string, error) {
|
||||
return ExecDir(timeout, "", desc, cmdName, args...)
|
||||
}
|
||||
|
||||
// Exec starts executing a command, it records its process and has default timeout.
|
||||
// Exec runs a command and waits for its completion
|
||||
// up to DefaultTimeout. Returns its complete stdout and stderr
|
||||
// outputs and an error, if any (including timeout)
|
||||
func Exec(desc, cmdName string, args ...string) (string, string, error) {
|
||||
return ExecDir(-1, "", desc, cmdName, args...)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue