Skip to content

Commit

Permalink
fix: reset pipelines on stop
Browse files Browse the repository at this point in the history
  • Loading branch information
permobergedge committed Feb 12, 2025
1 parent 9053177 commit 91a4cad
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 3 deletions.
32 changes: 29 additions & 3 deletions src/api/manager/workflow.ts
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,14 @@ export async function stopProduction(
success: true
} as StopProductionStep
};
let resetPipelineStatus = {
ok: true,
value: {
step: 'reset_pipeline',
success: true
} as StopProductionStep
};

const pipelineIds = production.production_settings.pipelines.map(
(p) => p.pipeline_id
);
Expand Down Expand Up @@ -553,17 +561,34 @@ export async function stopProduction(
Log().info(`Pipeline '${id}' stopped`);
}

const resetPipelinePromises = pipelineIds.map((pipeline) => {
Log().info(`Resetting pipeline: ${pipeline!}`);
return resetPipeline(pipeline!);
});
await Promise.all(resetPipelinePromises).catch((error) => {
resetPipelineStatus = {
ok: false,
value: {
step: 'reset_pipeline',
success: false,
message: `Failed to reset pipelines: ${error}`
}
};
});

if (
!disconnectConnectionsStatus.ok ||
!removePipelineStreamsStatus.ok ||
!deleteMultiviewsStatus.ok
!deleteMultiviewsStatus.ok ||
!resetPipelineStatus.ok
) {
return {
ok: false,
value: [
disconnectConnectionsStatus.value,
removePipelineStreamsStatus.value,
deleteMultiviewsStatus.value
deleteMultiviewsStatus.value,
resetPipelineStatus.value
],
error: 'Failed to stop production properly'
};
Expand All @@ -573,7 +598,8 @@ export async function stopProduction(
value: [
disconnectConnectionsStatus.value,
removePipelineStreamsStatus.value,
deleteMultiviewsStatus.value
deleteMultiviewsStatus.value,
resetPipelineStatus.value
]
};
}
Expand Down
1 change: 1 addition & 0 deletions src/components/startProduction/StopProductionFeed.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export default function StopProductionFeed({
remove_pipeline_multiviews: t(
'stop_production_status.remove_pipeline_multiviews'
),
reset_pipeline: t('stop_production_status.reset_pipeline'),
unexpected: t('stop_production_status.unexpected')
};
return (
Expand Down
1 change: 1 addition & 0 deletions src/i18n/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ export const en = {
disconnect_connections: 'Disconnect connections',
remove_pipeline_streams: 'Remove streams',
remove_pipeline_multiviews: 'Remove multiviews',
reset_pipeline: 'Reset pipelines',
unexpected: 'Unexpected error'
},
source: {
Expand Down
1 change: 1 addition & 0 deletions src/i18n/locales/sv.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export const sv = {
disconnect_connections: 'Frånkoppla anslutningar',
remove_pipeline_streams: 'Ta bort strömmar',
remove_pipeline_multiviews: 'Ta bort multiviews',
reset_pipeline: 'Rensa pipelines',
unexpected: 'Oväntat fel'
},
source: {
Expand Down
1 change: 1 addition & 0 deletions src/interfaces/production.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ export interface StopProductionStep {
| 'disconnect_connections'
| 'remove_pipeline_streams'
| 'remove_pipeline_multiviews'
| 'reset_pipeline'
| 'unexpected';
success: boolean;
message?: string;
Expand Down

0 comments on commit 91a4cad

Please sign in to comment.