Documentation
¶
Index ¶
Constants ¶
View Source
const ( // EnvProcPrioMgmt is the environment variable that determines whether // we attempt to manage process CPU and OOM Killer priority. EnvProcPrioMgmt = "CODER_PROC_PRIO_MGMT" EnvProcOOMScore = "CODER_PROC_OOM_SCORE" EnvProcNiceScore = "CODER_PROC_NICE_SCORE" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Execer ¶ added in v2.19.0
type Execer interface {
// CommandContext returns an exec.Cmd that calls "coder agent-exec" prior to exec'ing
// the provided command if CODER_PROC_PRIO_MGMT is set, otherwise a normal exec.Cmd
// is returned. All instances of exec.Cmd should flow through this function to ensure
// proper resource constraints are applied to the child process.
CommandContext(ctx context.Context, cmd string, args ...string) *exec.Cmd
// PTYCommandContext returns an pty.Cmd that calls "coder agent-exec" prior to exec'ing
// the provided command if CODER_PROC_PRIO_MGMT is set, otherwise a normal pty.Cmd
// is returned. All instances of pty.Cmd should flow through this function to ensure
// proper resource constraints are applied to the child process.
PTYCommandContext(ctx context.Context, cmd string, args ...string) *pty.Cmd
}
Execer defines an abstraction for creating exec.Cmd variants. It's unfortunately necessary because we need to be able to wrap child processes with "coder agent-exec" for templates that expect the agent to manage process priority.
var DefaultExecer Execer = execer{}
Click to show internal directories.
Click to hide internal directories.