Documentation ¶
Index ¶
- type BuildClient
- type BuildFailed
- type BuildFinished
- type BuildHandler
- type BuildRequest
- type BuildStarted
- type HeartbeatClient
- type HeartbeatHandler
- type HeartbeatRequest
- type HeartbeatResponse
- type HeartbeatService
- type JobResult
- type JobSpec
- type Service
- type SignalRequest
- type SignalResponse
- type StatusReader
- type StatusUpdate
- type StatusWriter
- type UploadDone
- type WorkerID
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildClient ¶
type BuildClient struct { }
func NewBuildClient ¶
func NewBuildClient(l *zap.Logger, endpoint string) *BuildClient
func (*BuildClient) SignalBuild ¶
func (c *BuildClient) SignalBuild(ctx context.Context, buildID build.ID, signal *SignalRequest) (*SignalResponse, error)
func (*BuildClient) StartBuild ¶
func (c *BuildClient) StartBuild(ctx context.Context, request *BuildRequest) (*BuildStarted, StatusReader, error)
type BuildFailed ¶
type BuildFailed struct {
Error string
}
type BuildFinished ¶
type BuildFinished struct { }
type BuildHandler ¶
type BuildHandler struct { }
func NewBuildService ¶
func NewBuildService(l *zap.Logger, s Service) *BuildHandler
func (*BuildHandler) Register ¶
func (h *BuildHandler) Register(mux *http.ServeMux)
type BuildRequest ¶
type HeartbeatClient ¶
type HeartbeatClient struct { }
func NewHeartbeatClient ¶
func NewHeartbeatClient(l *zap.Logger, endpoint string) *HeartbeatClient
func (*HeartbeatClient) Heartbeat ¶
func (c *HeartbeatClient) Heartbeat(ctx context.Context, req *HeartbeatRequest) (*HeartbeatResponse, error)
type HeartbeatHandler ¶
type HeartbeatHandler struct { }
func NewHeartbeatHandler ¶
func NewHeartbeatHandler(l *zap.Logger, s HeartbeatService) *HeartbeatHandler
func (*HeartbeatHandler) Register ¶
func (h *HeartbeatHandler) Register(mux *http.ServeMux)
type HeartbeatRequest ¶
type HeartbeatRequest struct { // WorkerID задаёт персистентный идентификатор данного воркера. // // WorkerID также выступает в качестве endpoint-а, к которому можно подключиться по HTTP. // // В наших тестах идентификатор будет иметь вид "localhost:%d". WorkerID WorkerID // RunningJobs перечисляет список джобов, которые выполняются на этом воркере // в данный момент. RunningJobs []build.ID // FreeSlots сообщает, сколько еще процессов можно запустить на этом воркере. FreeSlots int // JobResult сообщает координатору, какие джобы завершили исполнение на этом воркере // на этой итерации цикла. FinishedJob []JobResult // AddedArtifacts говорит, какие артефакты появились в кеше на этой итерации цикла. AddedArtifacts []build.ID }
type HeartbeatResponse ¶
type HeartbeatService ¶
type HeartbeatService interface {
Heartbeat(ctx context.Context, req *HeartbeatRequest) (*HeartbeatResponse, error)
}
type JobResult ¶
type JobResult struct { ID build.ID Stdout, Stderr []byte ExitCode int // Error описывает сообщение об ошибке, из-за которого джоб не удалось выполнить. // // Если Error == nil, значит джоб завершился успешно. Error *string }
JobResult описывает результат работы джоба.
type JobSpec ¶
type JobSpec struct { // SourceFiles задаёт список файлов, который должны присутствовать в директории с исходным кодом при запуске этого джоба. SourceFiles map[build.ID]string // Artifacts задаёт воркеров, с которых можно скачать артефакты необходимые этому джобу. Artifacts map[build.ID]WorkerID build.Job }
JobSpec описывает джоб, который нужно запустить.
type Service ¶
type Service interface { StartBuild(ctx context.Context, request *BuildRequest, w StatusWriter) error SignalBuild(ctx context.Context, buildID build.ID, signal *SignalRequest) (*SignalResponse, error) }
type SignalRequest ¶
type SignalRequest struct {
UploadDone *UploadDone
}
type SignalResponse ¶
type SignalResponse struct { }
type StatusReader ¶
type StatusReader interface { Close() error Next() (*StatusUpdate, error) }
type StatusUpdate ¶
type StatusUpdate struct { JobFinished *JobResult BuildFailed *BuildFailed BuildFinished *BuildFinished }
type StatusWriter ¶
type StatusWriter interface { Started(rsp *BuildStarted) error Updated(update *StatusUpdate) error }
type UploadDone ¶
type UploadDone struct{}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.