Versions in this module Expand all Collapse all v1 v1.1.6 Feb 17, 2019 v1.1.5 Feb 15, 2019 v1.1.4 Feb 11, 2019 v1.1.3 Jan 31, 2019 v1.1.2 Jan 24, 2019 v1.1.1 Jan 23, 2019 v1.1.0 Dec 28, 2018 Changes in this version + const DefaultQueueName + const QueueCount + const QueueEventTypeAbandoned + const QueueEventTypeManagerAdded + const QueueEventTypeManagerRemoved + const QueueEventTypeQueueAdded + const QueueEventTypeQueueRemoved + const QueueEventTypeRetried + const QueuePriorityEphemeral + const QueuePriorityHigh + const QueuePriorityLow + const QueuePriorityNormal + func GetLibinteractiveVersion() (string, error) + func NewCachedInputFactory(inputPath string) common.CachedInputFactory + func NewInputFactory(problemName string, config *common.Config) common.InputFactory + type CachedInputFactory struct + func (factory *CachedInputFactory) GetInputHash(dirname string, info os.FileInfo) (hash string, ok bool) + func (factory *CachedInputFactory) NewInput(hash string, mgr *common.InputManager) common.Input type Context + LibinteractiveVersion string + type EphemeralRunManager struct + func NewEphemeralRunManager(ctx *Context) *EphemeralRunManager + func (mgr *EphemeralRunManager) Commit(runCtx *RunContext) error + func (mgr *EphemeralRunManager) Get(token string) (string, bool) + func (mgr *EphemeralRunManager) Initialize() error + func (mgr *EphemeralRunManager) SetEphemeral(runCtx *RunContext) (string, error) + func (mgr *EphemeralRunManager) String() string + type EphemeralRunRequest struct + Input *common.LiteralInput + Language string + Source string + type Input struct + func (input *Input) Delete() error + func (input *Input) Persist() error + func (input *Input) Transmit(w http.ResponseWriter) error + func (input *Input) Verify() error + type InputFactory struct + func (factory *InputFactory) NewInput(hash string, mgr *common.InputManager) common.Input + type QueueEvent struct + Delta time.Duration + Priority QueuePriority + Type QueueEventType + type QueueEventType int type QueueManager + func (manager *QueueManager) AddEvent(event *QueueEvent) + func (manager *QueueManager) AddEventListener(c chan<- *QueueEvent) + func (manager *QueueManager) Close() + type QueuePriority int type RunContext + func (run *RunContext) Running() <-chan struct{} type RunInfo + PenaltyType string + Priority QueuePriority + Problemset *int64 + QueueTime time.Time v1.0.0 Jan 26, 2017 Changes in this version + func AddRunContext(ctx *Context, run *RunContext, input common.Input) error + func NewGraderCachedInputFactory(inputPath string) common.CachedInputFactory + func NewGraderInputFactory(problemName string, config *common.Config) common.InputFactory + type Context struct + InflightMonitor *InflightMonitor + InputManager *common.InputManager + QueueManager *QueueManager + func NewContext(reader io.Reader) (*Context, error) + func (context *Context) Close() + type GraderCachedInputFactory struct + func (factory *GraderCachedInputFactory) GetInputHash(dirname string, info os.FileInfo) (hash string, ok bool) + func (factory *GraderCachedInputFactory) NewInput(hash string, mgr *common.InputManager) common.Input + type GraderInput struct + func (input *GraderInput) Delete() error + func (input *GraderInput) Persist() error + func (input *GraderInput) Transmit(w http.ResponseWriter) error + func (input *GraderInput) Verify() error + type GraderInputFactory struct + func (factory *GraderInputFactory) NewInput(hash string, mgr *common.InputManager) common.Input + type InflightMonitor struct + PostProcessor *RunPostProcessor + func NewInflightMonitor() *InflightMonitor + func (monitor *InflightMonitor) Add(run *RunContext, runner string) *InflightRun + func (monitor *InflightMonitor) Get(attemptID uint64) (*RunContext, <-chan struct{}, bool) + func (monitor *InflightMonitor) GetRunData() []*RunData + func (monitor *InflightMonitor) MarshalJSON() ([]byte, error) + func (monitor *InflightMonitor) Remove(attemptID uint64) + type InflightRun struct + type Queue struct + Name string + func (queue *Queue) AddRun(run *RunContext) + func (queue *Queue) GetRun(runner string, monitor *InflightMonitor, closeNotifier <-chan bool) (*RunContext, <-chan struct{}, bool) + type QueueInfo struct + Lengths [3]int + type QueueManager struct + func NewQueueManager(channelLength int) *QueueManager + func (manager *QueueManager) Add(name string) *Queue + func (manager *QueueManager) Get(name string) (*Queue, error) + func (manager *QueueManager) GetQueueInfo() map[string]QueueInfo + func (manager *QueueManager) MarshalJSON() ([]byte, error) + type RunContext struct + Config *common.Config + EventCollector common.EventCollector + EventFactory *common.EventFactory + Log log15.Logger + func NewEmptyRunContext(ctx *Context) *RunContext + func (run *RunContext) AppendRunnerLogs(runnerName string, contents []byte) + func (run *RunContext) Close() + func (run *RunContext) Debug() error + func (run *RunContext) Ready() <-chan struct{} + func (run *RunContext) Requeue(lastAttempt bool) bool + func (run *RunContext) String() string + type RunData struct + AttemptID uint64 + AttemptsLeft int + Elapsed int64 + GUID string + ID int64 + Queue string + Runner string + Time int64 + type RunInfo struct + Contest *string + CreationTime time.Time + GUID string + GradeDir string + ID int64 + ProblemName string + Result runner.RunResult + Run *common.Run + type RunPostProcessor struct + func NewRunPostProcessor() *RunPostProcessor + func (postProcessor *RunPostProcessor) AddListener(c chan<- *RunInfo) + func (postProcessor *RunPostProcessor) Close() + func (postProcessor *RunPostProcessor) PostProcess(run *RunInfo)