11package main
22
33import (
4+ "context"
45 "fmt"
56 "time"
67
@@ -78,6 +79,8 @@ func init() {
7879
7980 // Fork command flags
8081 workflowForkCmd .Flags ().IntP ("step" , "s" , 1 , "Restart from this step" )
82+ workflowForkCmd .Flags ().StringP ("application-version" , "a" , "" , "Application version for the forked workflow" )
83+ workflowForkCmd .Flags ().StringP ("forked-workflow-id" , "f" , "" , "Custom workflow ID for the forked workflow" )
8184}
8285
8386func runWorkflowList (cmd * cobra.Command , args []string ) error {
@@ -87,8 +90,10 @@ func runWorkflowList(cmd *cobra.Command, args []string) error {
8790 return err
8891 }
8992
93+ user_ctx := context .Background ()
94+
9095 // Create DBOS context
91- ctx , err := createDBOSContext (dbURL )
96+ ctx , err := createDBOSContext (user_ctx , dbURL )
9297 if err != nil {
9398 return err
9499 }
@@ -192,8 +197,10 @@ func runWorkflowGet(cmd *cobra.Command, args []string) error {
192197 return err
193198 }
194199
200+ user_ctx := context .Background ()
201+
195202 // Create DBOS context
196- ctx , err := createDBOSContext (dbURL )
203+ ctx , err := createDBOSContext (user_ctx , dbURL )
197204 if err != nil {
198205 return err
199206 }
@@ -225,8 +232,10 @@ func runWorkflowSteps(cmd *cobra.Command, args []string) error {
225232 return err
226233 }
227234
235+ user_ctx := context .Background ()
236+
228237 // Create DBOS context
229- ctx , err := createDBOSContext (dbURL )
238+ ctx , err := createDBOSContext (user_ctx , dbURL )
230239 if err != nil {
231240 return err
232241 }
@@ -255,8 +264,10 @@ func runWorkflowCancel(cmd *cobra.Command, args []string) error {
255264 return err
256265 }
257266
267+ user_ctx := context .Background ()
268+
258269 // Create DBOS context
259- ctx , err := createDBOSContext (dbURL )
270+ ctx , err := createDBOSContext (user_ctx , dbURL )
260271 if err != nil {
261272 return err
262273 }
@@ -279,8 +290,10 @@ func runWorkflowResume(cmd *cobra.Command, args []string) error {
279290 return err
280291 }
281292
293+ user_ctx := context .Background ()
294+
282295 // Create DBOS context
283- ctx , err := createDBOSContext (dbURL )
296+ ctx , err := createDBOSContext (user_ctx , dbURL )
284297 if err != nil {
285298 return err
286299 }
@@ -310,8 +323,10 @@ func runWorkflowFork(cmd *cobra.Command, args []string) error {
310323 return err
311324 }
312325
326+ user_ctx := context .Background ()
327+
313328 // Create DBOS context
314- ctx , err := createDBOSContext (dbURL )
329+ ctx , err := createDBOSContext (user_ctx , dbURL )
315330 if err != nil {
316331 return err
317332 }
@@ -322,11 +337,24 @@ func runWorkflowFork(cmd *cobra.Command, args []string) error {
322337 step = 1
323338 }
324339
325- // Fork workflow
326- handle , err := ctx . ForkWorkflow ( ctx , dbos.ForkWorkflowInput {
340+ // Build ForkWorkflowInput
341+ input := dbos.ForkWorkflowInput {
327342 OriginalWorkflowID : workflowID ,
328343 StartStep : uint (step ),
329- })
344+ }
345+
346+ // Get application version flag if provided
347+ if appVersion , _ := cmd .Flags ().GetString ("application-version" ); appVersion != "" {
348+ input .ApplicationVersion = appVersion
349+ }
350+
351+ // Get forked workflow ID flag if provided
352+ if forkedID , _ := cmd .Flags ().GetString ("forked-workflow-id" ); forkedID != "" {
353+ input .ForkedWorkflowID = forkedID
354+ }
355+
356+ // Fork workflow
357+ handle , err := ctx .ForkWorkflow (ctx , input )
330358 if err != nil {
331359 return err
332360 }
0 commit comments