add timeout monitord
This commit is contained in:
@@ -20,6 +20,7 @@ import (
|
||||
type ArgoBuilder struct {
|
||||
graph graph.Graph
|
||||
Workflow Workflow
|
||||
Timeout int
|
||||
}
|
||||
|
||||
type Workflow struct {
|
||||
@@ -36,13 +37,16 @@ type Spec struct {
|
||||
Arguments []Parameter `yaml:"arguments,omitempty"`
|
||||
Volumes []VolumeClaimTemplate `yaml:"volumeClaimTemplates,omitempty"`
|
||||
Templates []Template `yaml:"templates"`
|
||||
Timeout int `yaml:"activeDeadlineSeconds,omitempty"`
|
||||
}
|
||||
|
||||
func (b *ArgoBuilder) CreateDAG() (string, error) {
|
||||
|
||||
b.createTemplates()
|
||||
b.createDAGstep()
|
||||
b.createVolumes()
|
||||
if b.Timeout > 0 {
|
||||
b.Workflow.Spec.Timeout = b.Timeout
|
||||
}
|
||||
b.Workflow.Spec.Entrypoint = "dag"
|
||||
b.Workflow.ApiVersion = "argoproj.io/v1alpha1"
|
||||
b.Workflow.Kind = "Workflow"
|
||||
|
||||
@@ -39,14 +39,14 @@ func (w *WorflowDB) getWorkflow(workflow_id string) (workflow *workflow.Workflow
|
||||
return new_wf, nil
|
||||
}
|
||||
|
||||
func (w *WorflowDB) ExportToArgo() (string, error) {
|
||||
func (w *WorflowDB) ExportToArgo(timeout int) (string, error) {
|
||||
logger := oclib.GetLogger()
|
||||
|
||||
if len(w.Workflow.Name) == 0 || w.Workflow.Graph == nil {
|
||||
return "", fmt.Errorf("can't export a graph that has not been loaded yet")
|
||||
}
|
||||
|
||||
argo_builder := ArgoBuilder{graph: *w.Workflow.Graph}
|
||||
argo_builder := ArgoBuilder{graph: *w.Workflow.Graph, Timeout: timeout}
|
||||
filename, err := argo_builder.CreateDAG()
|
||||
if err != nil {
|
||||
logger.Error().Msg("Could not create the argo file for " + w.Workflow.Name)
|
||||
|
||||
Reference in New Issue
Block a user