Documentation
¶
Index ¶
- func IsRecordNotFoundError(err error) bool
- func PackJob(j *Job, latestExecution *JobExecution, executions []*JobExecution, ...) (*api.Job, error)
- func PackJobExecution(j *JobExecution, steps []*StepExecution) (*api.JobExecution, error)
- func PackStep(step *Step, executions []*StepExecution) (*api.Step, error)
- func PackStepExecution(s *StepExecution) *api.StepExecution
- func UnmarshalRunsOn(body []byte) (*api.RunsOn, error)
- type Client
- func (c *Client) AutoMigrate() error
- func (c *Client) CreateJobExecutions(ctx context.Context, options []*CreateJobExecutionOption) ([]*JobExecution, error)
- func (c *Client) CreateJobQueues(ctx context.Context, options []*CreateJobQueueOption) ([]*JobQueue, error)
- func (c *Client) CreateJobs(ctx context.Context, options []*CreateJobOption) ([]*Job, error)
- func (c *Client) CreatePipeline(ctx context.Context) (*Pipeline, error)
- func (c *Client) CreateStepExecutions(ctx context.Context, options []*CreateStepExecutionOption) ([]*StepExecution, error)
- func (c *Client) CreateSteps(ctx context.Context, options []*CreateStepOption) ([]*Step, error)
- func (c *Client) DeleteJobQueueByJobExecutionID(ctx context.Context, jobExecutionID int64) error
- func (c *Client) GetJobByID(ctx context.Context, id int64) (*Job, error)
- func (c *Client) GetJobExecution(ctx context.Context, id int64) (*JobExecution, error)
- func (c *Client) GetJobExecutionsByJobID(ctx context.Context, jobID int64) ([]*JobExecution, error)
- func (c *Client) GetJobQueue(ctx context.Context, jobExecutionID int64) (*JobQueue, error)
- func (c *Client) GetQueuedJobExecutionIDs(ctx context.Context, label string, limit int) ([]*JobQueue, error)
- func (c *Client) GetStepByID(ctx context.Context, id int64) (*Step, error)
- func (c *Client) GetStepExecution(ctx context.Context, id int64) (*StepExecution, error)
- func (c *Client) GetStepExecutionsByJobExecutionID(ctx context.Context, jobExecutionID int64) ([]*StepExecution, error)
- func (c *Client) GetStepExecutionsByJobExecutionIDs(ctx context.Context, jobExecutionIDs []int64) (map[int64][]*StepExecution, error)
- func (c *Client) GetStepsByJobID(ctx context.Context, jobID int64) ([]*Step, error)
- func (c *Client) ListHeartbeatJobExecutions(ctx context.Context, timeout time.Duration) ([]*JobQueue, error)
- func (c *Client) ResetJobExecution(ctx context.Context, jobExecutionID int64) error
- func (c *Client) ResetStepExecutions(ctx context.Context, stepExecutionIDs []int64) error
- func (c *Client) ToMigrateSQL() ([]string, error)
- func (c *Client) TouchHeartbeat(ctx context.Context, jobExecutionID int64) error
- func (c *Client) Transaction(fc func(client *Client) error) error
- func (c *Client) UpdateJobExecution(ctx context.Context, option *UpdateJobExecutionOption) (*JobExecution, error)
- func (c *Client) UpdateJobQueueStatus(ctx context.Context, jobExecutionID int64, status api.Status) error
- func (c *Client) UpdateStepExecution(ctx context.Context, option *UpdateStepExecutionOption) (*StepExecution, error)
- type CreateJobExecutionOption
- type CreateJobOption
- type CreateJobQueueOption
- type CreateStepExecutionOption
- type CreateStepOption
- type Dialect
- type Job
- type JobExecution
- type JobQueue
- type Pipeline
- type PipelineExecution
- type Step
- type StepExecution
- type UpdateJobExecutionOption
- type UpdateStepExecutionOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsRecordNotFoundError ¶
IsRecordNotFoundError returns true if the error is a record not found error.
func PackJob ¶
func PackJob(j *Job, latestExecution *JobExecution, executions []*JobExecution, steps []*Step, stepExecutions []*StepExecution, ) (*api.Job, error)
PackJob packs a job into api.Job. latestExecution is the latest job execution. executions are all job executions. steps are all steps of the job. stepExecutions are all step executions of the job.
func PackJobExecution ¶
func PackJobExecution(j *JobExecution, steps []*StepExecution) (*api.JobExecution, error)
PackJobExecution packs a job execution into api.JobExecution. If steps is nil, it will not pack steps.
func PackStep ¶
func PackStep(step *Step, executions []*StepExecution) (*api.Step, error)
PackStep packs a step into api.Step.
func PackStepExecution ¶
func PackStepExecution(s *StepExecution) *api.StepExecution
PackStepExecution packs a step execution into api.StepExecution.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) CreateJobExecutions ¶
func (c *Client) CreateJobExecutions(ctx context.Context, options []*CreateJobExecutionOption) ([]*JobExecution, error)
CreateJobExecutions creates new job executions.
func (*Client) CreateJobQueues ¶
func (c *Client) CreateJobQueues(ctx context.Context, options []*CreateJobQueueOption) ([]*JobQueue, error)
CreateJobQueues creates new job queue entity.
func (*Client) CreateJobs ¶
CreateJobs creates new jobs.
func (*Client) CreatePipeline ¶
CreatePipeline creates a new pipeline.
func (*Client) CreateStepExecutions ¶
func (c *Client) CreateStepExecutions(ctx context.Context, options []*CreateStepExecutionOption) ([]*StepExecution, error)
CreateStepExecutions creates new step executions.
func (*Client) CreateSteps ¶
CreateSteps creates new steps.
func (*Client) DeleteJobQueueByJobExecutionID ¶
func (*Client) GetJobByID ¶
GetJobByID returns a job by its ID.
func (*Client) GetJobExecution ¶
func (*Client) GetJobExecutionsByJobID ¶
func (*Client) GetJobQueue ¶
func (*Client) GetQueuedJobExecutionIDs ¶
func (*Client) GetStepByID ¶
GetStepByID returns a step by its ID.
func (*Client) GetStepExecution ¶
GetStepExecution returns step execution by id.
func (*Client) GetStepExecutionsByJobExecutionID ¶
func (c *Client) GetStepExecutionsByJobExecutionID(ctx context.Context, jobExecutionID int64) ([]*StepExecution, error)
GetStepExecutionsByJobExecutionID returns step executions by job execution id.
func (*Client) GetStepExecutionsByJobExecutionIDs ¶
func (c *Client) GetStepExecutionsByJobExecutionIDs(ctx context.Context, jobExecutionIDs []int64) (map[int64][]*StepExecution, error)
GetStepExecutionsByJobExecutionIDs returns step executions by job execution id list.
func (*Client) GetStepsByJobID ¶
GetStepsByJobID returns steps by job id.
func (*Client) ListHeartbeatJobExecutions ¶
func (*Client) ResetJobExecution ¶
func (*Client) ResetStepExecutions ¶
func (*Client) ToMigrateSQL ¶
ToMigrateSQL generates DDL SQL for the models.
func (*Client) TouchHeartbeat ¶
func (*Client) Transaction ¶
Transaction executes a block of code inside a database transaction.
func (*Client) UpdateJobExecution ¶
func (c *Client) UpdateJobExecution(ctx context.Context, option *UpdateJobExecutionOption) (*JobExecution, error)
UpdateJobExecution updates a job execution. Don't use this method directly, A helper function in dispatch.
func (*Client) UpdateJobQueueStatus ¶
func (*Client) UpdateStepExecution ¶
func (c *Client) UpdateStepExecution(ctx context.Context, option *UpdateStepExecutionOption) (*StepExecution, error)
UpdateStepExecution updates a step execution.
type CreateJobOption ¶
type CreateJobQueueOption ¶
type CreateStepOption ¶
type Job ¶
type Job struct {
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
PipelineID int64 `gorm:"column:pipeline_id"`
Name string `gorm:"column:name"`
RunsOn []byte `gorm:"column:runs_on"`
WorkingDirectory string `gorm:"column:working_directory"`
EnvVar []byte `gorm:"column:env_var"`
DependsOn []byte `gorm:"column:depends_on"`
Timeout int32 `gorm:"column:timeout"`
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime"`
UpdatedAt time.Time `gorm:"column:updated_at;autoUpdateTime"`
}
type JobExecution ¶
type JobExecution struct {
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
JobID int64 `gorm:"column:job_id"`
Status api.Status `gorm:"column:status"`
Reason []byte `gorm:"column:reason"`
StartedAt *time.Time `gorm:"column:started_at"`
CompletedAt *time.Time `gorm:"column:completed_at"`
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime"`
UpdatedAt time.Time `gorm:"column:updated_at;autoUpdateTime"`
}
func (*JobExecution) TableName ¶
func (p *JobExecution) TableName() string
type JobQueue ¶
type JobQueue struct {
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
Status api.Status `gorm:"column:status"`
JobExecutionID int64 `gorm:"column:job_execution_id"`
Label string `gorm:"column:label"`
Heartbeat time.Time `gorm:"column:heartbeat;autoCreateTime"`
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime"`
UpdatedAt time.Time `gorm:"column:updated_at;autoUpdateTime"`
}
type Pipeline ¶
type PipelineExecution ¶
type PipelineExecution struct {
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
PipelineID int64 `gorm:"column:pipeline_id"`
StartedAt time.Time `gorm:"column:started_at"`
CompletedAt time.Time `gorm:"column:completed_at"`
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime"`
UpdatedAt time.Time `gorm:"column:updated_at;autoUpdateTime"`
}
func (*PipelineExecution) TableName ¶
func (p *PipelineExecution) TableName() string
type Step ¶
type Step struct {
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
PipelineID int64 `gorm:"column:pipeline_id"`
JobID int64 `gorm:"column:job_id"`
Name string `gorm:"column:name"`
User string `gorm:"column:user"`
Container string `gorm:"column:container"`
WorkingDirectory string `gorm:"column:working_directory"`
Commands []byte `gorm:"column:commands"`
EnvVar []byte `gorm:"column:env_var"`
DependsOn []byte `gorm:"column:depends_on"`
Script string `gorm:"column:script"`
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime"`
UpdatedAt time.Time `gorm:"column:updated_at;autoUpdateTime"`
}
type StepExecution ¶
type StepExecution struct {
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
JobExecutionID int64 `gorm:"column:job_execution_id"`
StepID int64 `gorm:"column:step_id"`
Status api.Status `gorm:"column:status"`
ExitCode uint32 `gorm:"column:exit_code"`
StartedAt *time.Time `gorm:"column:started_at"`
CompletedAt *time.Time `gorm:"column:completed_at"`
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime"`
UpdatedAt time.Time `gorm:"column:updated_at;autoUpdateTime"`
}
func (*StepExecution) TableName ¶
func (p *StepExecution) TableName() string