File tree Expand file tree Collapse file tree 4 files changed +18
-25
lines changed
apps/webapp/app/v3/services
internal-packages/compute/src Expand file tree Collapse file tree 4 files changed +18
-25
lines changed Original file line number Diff line number Diff line change @@ -62,7 +62,10 @@ export class ComputeTemplateCreationService {
6262 return "skip" ;
6363 }
6464
65- async createTemplate ( imageReference : string ) : Promise < { success : boolean ; error ?: string } > {
65+ async createTemplate (
66+ imageReference : string ,
67+ options ?: { background ?: boolean }
68+ ) : Promise < { success : boolean ; error ?: string } > {
6669 if ( ! this . client ) {
6770 return { success : false , error : "Compute gateway not configured" } ;
6871 }
@@ -72,6 +75,7 @@ export class ComputeTemplateCreationService {
7275 image : imageReference ,
7376 cpu : 0.5 ,
7477 memory_mb : 512 ,
78+ background : options ?. background ,
7579 } ) ;
7680 return { success : true } ;
7781 } catch ( error ) {
@@ -83,20 +87,4 @@ export class ComputeTemplateCreationService {
8387 return { success : false , error : message } ;
8488 }
8589 }
86-
87- /**
88- * Fire-and-forget template creation. No HTTP connection held open,
89- * no response awaited. Used for shadow rollout mode.
90- */
91- createTemplateBackground ( imageReference : string ) : void {
92- if ( ! this . client ) {
93- return ;
94- }
95-
96- this . client . createTemplateBackground ( {
97- image : imageReference ,
98- cpu : 0.5 ,
99- memory_mb : 512 ,
100- } ) ;
101- }
10290}
Original file line number Diff line number Diff line change @@ -191,11 +191,13 @@ export class FinalizeDeploymentService extends BaseService {
191191
192192 // Shadow mode: fire-and-forget template creation after deploy is finalized
193193 if ( templateMode === "shadow" && deployment . imageReference ) {
194- logger . debug ( "Shadow compute template creation (background)" , {
195- id,
196- imageReference : deployment . imageReference ,
194+ templateService . createTemplate ( deployment . imageReference , { background : true } ) . catch ( ( error ) => {
195+ logger . error ( "Shadow compute template creation failed" , {
196+ id,
197+ imageReference : deployment . imageReference ,
198+ error : error instanceof Error ? error . message : String ( error ) ,
199+ } ) ;
197200 } ) ;
198- templateService . createTemplateBackground ( deployment . imageReference ) ;
199201 }
200202
201203 return finalizedDeployment ;
Original file line number Diff line number Diff line change @@ -241,11 +241,13 @@ export class FinalizeDeploymentV2Service extends BaseService {
241241 imageReference : string ,
242242 deploymentFriendlyId : string
243243 ) {
244- logger . debug ( "Shadow compute template creation (background)" , {
245- id : deploymentFriendlyId ,
246- imageReference,
244+ templateService . createTemplate ( imageReference , { background : true } ) . catch ( ( error ) => {
245+ logger . error ( "Shadow compute template creation failed" , {
246+ id : deploymentFriendlyId ,
247+ imageReference,
248+ error : error instanceof Error ? error . message : String ( error ) ,
249+ } ) ;
247250 } ) ;
248- templateService . createTemplateBackground ( imageReference ) ;
249251 }
250252}
251253
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ export const TemplateCreateRequestSchema = z.object({
44 image : z . string ( ) ,
55 cpu : z . number ( ) ,
66 memory_mb : z . number ( ) ,
7+ background : z . boolean ( ) . optional ( ) ,
78 callback : z
89 . object ( {
910 url : z . string ( ) ,
You can’t perform that action at this time.
0 commit comments