model

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertRequest

func ConvertRequest(r *Request, srcPrefix string) (*worker.Request, error)

ConvertRequest converts json request into worker request

Types

type Cmd

type Cmd struct {
	Args  []string   `json:"args"`
	Env   []string   `json:"env,omitempty"`
	Files []*CmdFile `json:"files,omitempty"`
	TTY   bool       `json:"tty,omitempty"`

	CPULimit     uint64  `json:"cpuLimit"`
	RealCPULimit uint64  `json:"realCpuLimit"`
	ClockLimit   uint64  `json:"clockLimit"`
	MemoryLimit  uint64  `json:"memoryLimit"`
	StackLimit   uint64  `json:"stackLimit"`
	ProcLimit    uint64  `json:"procLimit"`
	CPURateLimit float64 `json:"cpuRateLimit"`

	CopyIn map[string]CmdFile `json:"copyIn"`

	CopyOut       []string `json:"copyOut"`
	CopyOutCached []string `json:"copyOutCached"`
	CopyOutMax    uint64   `json:"copyOutMax"`
	CopyOutDir    string   `json:"copyOutDir"`
}

Cmd defines command and limits to start a program using in envexec

type CmdFile

type CmdFile struct {
	Src     *string `json:"src"`
	Content *string `json:"content"`
	FileID  *string `json:"fileId"`
	Name    *string `json:"name"`
	Max     *int64  `json:"max"`
}

CmdFile defines file from multiple source including local / memory / cached or pipe collector

type PipeIndex

type PipeIndex struct {
	Index int `json:"index"`
	Fd    int `json:"fd"`
}

PipeIndex defines indexing for a pipe fd

type PipeMap

type PipeMap struct {
	In  PipeIndex `json:"in"`
	Out PipeIndex `json:"out"`
}

PipeMap defines in / out pipe for multiple program

type Request

type Request struct {
	RequestID   string    `json:"requestId"`
	Cmd         []Cmd     `json:"cmd"`
	PipeMapping []PipeMap `json:"pipeMapping"`
}

Request defines single worker request

type Response

type Response struct {
	RequestID string   `json:"requestId"`
	Results   []Result `json:"results"`
	ErrorMsg  string   `json:"error,omitempty"`
}

Response defines worker response for single request

func ConvertResponse

func ConvertResponse(r worker.Response) Response

ConvertResponse converts

type Result

type Result struct {
	Status     Status            `json:"status"`
	ExitStatus int               `json:"exitStatus"`
	Error      string            `json:"error,omitempty"`
	Time       uint64            `json:"time"`
	Memory     uint64            `json:"memory"`
	RunTime    uint64            `json:"runTime"`
	Files      map[string]string `json:"files,omitempty"`
	FileIDs    map[string]string `json:"fileIds,omitempty"`
}

Result defines single command result

type Status

type Status envexec.Status

Status offers JSON marshal for envexec.Status

func (Status) MarshalJSON

func (s Status) MarshalJSON() ([]byte, error)

MarshalJSON convert status into string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL