internal/common/job_instance_info.go (221 lines of code) (raw):

/* * Copyright (c) 2023 Alibaba Group Holding Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package common import ( "time" ) type JobInstanceInfo struct { jobId int64 jobInstanceId int64 wfInstanceId int64 regionId int32 appGroupId int64 groupId string jobName string scheduleTime time.Time dataTime time.Time jobType string executeMode string content string user string timeType int32 timeExpression string priority int32 status int32 aliveTimestamp int64 // workerIdAddr={workerId}@{ip}:{port} workerIdAddr string triggerType int32 // job custom parameters parameters string xattrs string allWorkers []string jobConcurrency int32 maxAttempt int32 attempt int32 // custom parameters for each task scheduling instanceParameters string isRetry bool upstreamData []*JobInstanceData // specify the particular machine for task execution workerInfo *WorkerInfo } func (j *JobInstanceInfo) SetJobId(jobId int64) { j.jobId = jobId } func (j *JobInstanceInfo) SetJobInstanceId(jobInstanceId int64) { j.jobInstanceId = jobInstanceId } func (j *JobInstanceInfo) SetWfInstanceId(wfInstanceId int64) { j.wfInstanceId = wfInstanceId } func (j *JobInstanceInfo) SetRegionId(regionId int32) { j.regionId = regionId } func (j *JobInstanceInfo) SetAppGroupId(appGroupId int64) { j.appGroupId = appGroupId } func (j *JobInstanceInfo) SetGroupId(groupId string) { j.groupId = groupId } func (j *JobInstanceInfo) SetJobName(jobName string) { j.jobName = jobName } func (j *JobInstanceInfo) SetScheduleTime(scheduleTime time.Time) { j.scheduleTime = scheduleTime } func (j *JobInstanceInfo) SetDataTime(dataTime time.Time) { j.dataTime = dataTime } func (j *JobInstanceInfo) SetJobType(jobType string) { j.jobType = jobType } func (j *JobInstanceInfo) SetExecuteMode(executeMode string) { j.executeMode = executeMode } func (j *JobInstanceInfo) SetContent(content string) { j.content = content } func (j *JobInstanceInfo) SetUser(user string) { j.user = user } func (j *JobInstanceInfo) SetTimeType(timeType int32) { j.timeType = timeType } func (j *JobInstanceInfo) SetTimeExpression(timeExpression string) { j.timeExpression = timeExpression } func (j *JobInstanceInfo) SetPriority(priority int32) { j.priority = priority } func (j *JobInstanceInfo) SetStatus(status int32) { j.status = status } func (j *JobInstanceInfo) SetAliveTimestamp(aliveTimestamp int64) { j.aliveTimestamp = aliveTimestamp } func (j *JobInstanceInfo) SetWorkerIdAddr(workerIdAddr string) { j.workerIdAddr = workerIdAddr } func (j *JobInstanceInfo) SetTriggerType(triggerType int32) { j.triggerType = triggerType } func (j *JobInstanceInfo) SetParameters(parameters string) { j.parameters = parameters } func (j *JobInstanceInfo) SetXattrs(xattrs string) { j.xattrs = xattrs } func (j *JobInstanceInfo) SetJobConcurrency(jobConcurrency int32) { j.jobConcurrency = jobConcurrency } func (j *JobInstanceInfo) SetMaxAttempt(maxAttempt int32) { j.maxAttempt = maxAttempt } func (j *JobInstanceInfo) SetAttempt(attempt int32) { j.attempt = attempt } func (j *JobInstanceInfo) SetInstanceParameters(instanceParameters string) { j.instanceParameters = instanceParameters } func (j *JobInstanceInfo) SetIsRetry(isRetry bool) { j.isRetry = isRetry } func (j *JobInstanceInfo) SetUpstreamData(upstreamData []*JobInstanceData) { j.upstreamData = upstreamData } func (j *JobInstanceInfo) SetWorkerInfo(workerInfo *WorkerInfo) { j.workerInfo = workerInfo } func NewJobInstanceInfo() *JobInstanceInfo { return &JobInstanceInfo{ workerInfo: NewWorkerInfo(), } } func (j *JobInstanceInfo) SetAllWorkers(allWorkers []string) { j.allWorkers = allWorkers } func (j *JobInstanceInfo) GetJobId() int64 { return j.jobId } func (j *JobInstanceInfo) GetJobInstanceId() int64 { return j.jobInstanceId } func (j *JobInstanceInfo) GetWfInstanceId() int64 { return j.wfInstanceId } func (j *JobInstanceInfo) GetRegionId() int32 { return j.regionId } func (j *JobInstanceInfo) GetAppGroupId() int64 { return j.appGroupId } func (j *JobInstanceInfo) GetGroupId() string { return j.groupId } func (j *JobInstanceInfo) GetJobName() string { return j.jobName } func (j *JobInstanceInfo) GetScheduleTime() time.Time { return j.scheduleTime } func (j *JobInstanceInfo) GetDataTime() time.Time { return j.dataTime } func (j *JobInstanceInfo) GetJobType() string { return j.jobType } func (j *JobInstanceInfo) GetExecuteMode() string { return j.executeMode } func (j *JobInstanceInfo) GetContent() string { return j.content } func (j *JobInstanceInfo) GetUser() string { return j.user } func (j *JobInstanceInfo) GetTimeType() int32 { return j.timeType } func (j *JobInstanceInfo) GetTimeExpression() string { return j.timeExpression } func (j *JobInstanceInfo) GetPriority() int32 { return j.priority } func (j *JobInstanceInfo) GetStatus() int32 { return j.status } func (j *JobInstanceInfo) GetAliveTimestamp() int64 { return j.aliveTimestamp } func (j *JobInstanceInfo) GetWorkerIdAddr() string { return j.workerIdAddr } func (j *JobInstanceInfo) GetTriggerType() int32 { return j.triggerType } func (j *JobInstanceInfo) GetParameters() string { return j.parameters } func (j *JobInstanceInfo) GetXattrs() string { return j.xattrs } func (j *JobInstanceInfo) GetAllWorkers() []string { return j.allWorkers } func (j *JobInstanceInfo) GetJobConcurrency() int32 { return j.jobConcurrency } func (j *JobInstanceInfo) GetMaxAttempt() int32 { return j.maxAttempt } func (j *JobInstanceInfo) GetAttempt() int32 { return j.attempt } func (j *JobInstanceInfo) GetInstanceParameters() string { return j.instanceParameters } func (j *JobInstanceInfo) GetIsRetry() bool { return j.isRetry } func (j *JobInstanceInfo) GetUpstreamData() []*JobInstanceData { return j.upstreamData } func (j *JobInstanceInfo) GetWorkerInfo() *WorkerInfo { return j.workerInfo }