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.