Merge pull request #1383 from satti-hari-krishna-reddy/tenzir
feat: Add caching for container status check
This commit is contained in:
@@ -2048,10 +2048,10 @@ func handlePipeline(incRequest shuffle.ExecutionRequest) error {
|
|||||||
//err := deployPipeline(image, identifier, command)
|
//err := deployPipeline(image, identifier, command)
|
||||||
pipelineId, err := createPipeline(command, identifier)
|
pipelineId, err := createPipeline(command, identifier)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("[ERROR] Failed to deploy pipeline: %s", err)
|
log.Printf("[ERROR] Failed to create pipeline: %s", err)
|
||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
log.Printf("[INFO] Pipeline deployed successfully with Id: %s", pipelineId)
|
log.Printf("[INFO] Pipeline created successfully with Id: %s", pipelineId)
|
||||||
newErr := savePipelineData(pipelineId, identifier, "running")
|
newErr := savePipelineData(pipelineId, identifier, "running")
|
||||||
if newErr != nil {
|
if newErr != nil {
|
||||||
log.Printf("[DEBUG] failed to save the pipeline data: %s", newErr)
|
log.Printf("[DEBUG] failed to save the pipeline data: %s", newErr)
|
||||||
@@ -2106,11 +2106,17 @@ func deployTenzirNode() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
cacheKey := "tenzir-key"
|
||||||
|
|
||||||
imageName := "tenzir/tenzir:latest"
|
imageName := "tenzir/tenzir:latest"
|
||||||
containerName := "tenzir-node"
|
containerName := "tenzir-node"
|
||||||
containerStartOptions := container.StartOptions{}
|
containerStartOptions := container.StartOptions{}
|
||||||
|
|
||||||
|
_, err := shuffle.GetCache(ctx, cacheKey)
|
||||||
|
if err == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
containerInfo, err := dockercli.ContainerInspect(ctx, containerName)
|
containerInfo, err := dockercli.ContainerInspect(ctx, containerName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if dockerclient.IsErrNotFound(err) {
|
if dockerclient.IsErrNotFound(err) {
|
||||||
@@ -2138,17 +2144,31 @@ func deployTenzirNode() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
log.Printf("[INFO] Tenzir Node container started successfully")
|
log.Printf("[INFO] Tenzir Node container started successfully")
|
||||||
|
|
||||||
log.Printf("[INFO] Waiting for Tenzir to become available ...")
|
log.Printf("[INFO] Waiting for Tenzir to become available ...")
|
||||||
err = checkTenzirNode()
|
err = checkTenzirNode()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
log.Printf("[INFO] Successfully deployed Tenzir Node!")
|
log.Printf("[INFO] Successfully deployed Tenzir Node!")
|
||||||
} else {
|
|
||||||
log.Printf("[DEBUG] Tenzir Node Container already running")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tenzirStatus := struct {
|
||||||
|
ContainerStatus string `json:"container_status"`
|
||||||
|
}{
|
||||||
|
ContainerStatus: "running",
|
||||||
|
}
|
||||||
|
|
||||||
|
cacheData, err := json.Marshal(tenzirStatus)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[WARNING] Failed marshalling execution: %s", err)
|
||||||
|
}
|
||||||
|
err = shuffle.SetCache(ctx, cacheKey, cacheData, 1)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[WARNING] Failed updating cache for tenzir: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user