44 "context"
55 "errors"
66 "fmt"
7- "log/slog"
87 "math"
98 "reflect"
109 "runtime"
@@ -449,16 +448,6 @@ func RegisterWorkflow[P any, R any](ctx DBOSContext, fn Workflow[P, R], opts ...
449448
450449 fqn := runtime .FuncForPC (reflect .ValueOf (fn ).Pointer ()).Name ()
451450
452- // Registry the input/output types for gob encoding
453- var logger * slog.Logger
454- if c , ok := ctx .(* dbosContext ); ok {
455- logger = c .logger
456- }
457- var p P
458- var r R
459- safeGobRegister (p , logger )
460- safeGobRegister (r , logger )
461-
462451 // Register a type-erased version of the durable workflow for recovery
463452 typedErasedWorkflow := WorkflowFunc (func (ctx DBOSContext , input any ) (any , error ) {
464453 typedInput , ok := input .(P )
@@ -480,6 +469,7 @@ func RegisterWorkflow[P any, R any](ctx DBOSContext, fn Workflow[P, R], opts ...
480469
481470 // If this is a scheduled workflow, register a cron job
482471 if registrationParams .cronSchedule != "" {
472+ var p P
483473 if reflect .TypeOf (p ) != reflect .TypeOf (time.Time {}) {
484474 panic (fmt .Sprintf ("scheduled workflow function must accept a time.Time as input, got %T" , p ))
485475 }
@@ -1055,14 +1045,6 @@ func RunAsStep[R any](ctx DBOSContext, fn Step[R], opts ...StepOption) (R, error
10551045 return * new (R ), newStepExecutionError ("" , "" , "step function cannot be nil" )
10561046 }
10571047
1058- // Register the output type for gob encoding
1059- var logger * slog.Logger
1060- if c , ok := ctx .(* dbosContext ); ok {
1061- logger = c .logger
1062- }
1063- var r R
1064- safeGobRegister (r , logger )
1065-
10661048 // Append WithStepName option to ensure the step name is set. This will not erase a user-provided step name
10671049 stepName := runtime .FuncForPC (reflect .ValueOf (fn ).Pointer ()).Name ()
10681050 opts = append (opts , WithStepName (stepName ))
@@ -1224,11 +1206,6 @@ func Send[P any](ctx DBOSContext, destinationID string, message P, topic string)
12241206 if ctx == nil {
12251207 return errors .New ("ctx cannot be nil" )
12261208 }
1227- var logger * slog.Logger
1228- if c , ok := ctx .(* dbosContext ); ok {
1229- logger = c .logger
1230- }
1231- safeGobRegister (message , logger )
12321209 return ctx .Send (ctx , destinationID , message , topic )
12331210}
12341211
@@ -1304,11 +1281,6 @@ func SetEvent[P any](ctx DBOSContext, key string, message P) error {
13041281 if ctx == nil {
13051282 return errors .New ("ctx cannot be nil" )
13061283 }
1307- var logger * slog.Logger
1308- if c , ok := ctx .(* dbosContext ); ok {
1309- logger = c .logger
1310- }
1311- safeGobRegister (message , logger )
13121284 return ctx .SetEvent (ctx , key , message )
13131285}
13141286
@@ -1500,14 +1472,6 @@ func RetrieveWorkflow[R any](ctx DBOSContext, workflowID string) (WorkflowHandle
15001472 return nil , errors .New ("dbosCtx cannot be nil" )
15011473 }
15021474
1503- // Register the output for gob encoding
1504- var logger * slog.Logger
1505- if c , ok := ctx .(* dbosContext ); ok {
1506- logger = c .logger
1507- }
1508- var r R
1509- safeGobRegister (r , logger )
1510-
15111475 // Call the interface method
15121476 handle , err := ctx .RetrieveWorkflow (ctx , workflowID )
15131477 if err != nil {
@@ -1598,14 +1562,6 @@ func ResumeWorkflow[R any](ctx DBOSContext, workflowID string) (WorkflowHandle[R
15981562 return nil , errors .New ("ctx cannot be nil" )
15991563 }
16001564
1601- // Register the output for gob encoding
1602- var logger * slog.Logger
1603- if c , ok := ctx .(* dbosContext ); ok {
1604- logger = c .logger
1605- }
1606- var r R
1607- safeGobRegister (r , logger )
1608-
16091565 _ , err := ctx .ResumeWorkflow (ctx , workflowID )
16101566 if err != nil {
16111567 return nil , err
@@ -1694,14 +1650,6 @@ func ForkWorkflow[R any](ctx DBOSContext, input ForkWorkflowInput) (WorkflowHand
16941650 return nil , errors .New ("ctx cannot be nil" )
16951651 }
16961652
1697- // Register the output for gob encoding
1698- var logger * slog.Logger
1699- if c , ok := ctx .(* dbosContext ); ok {
1700- logger = c .logger
1701- }
1702- var r R
1703- safeGobRegister (r , logger )
1704-
17051653 handle , err := ctx .ForkWorkflow (ctx , input )
17061654 if err != nil {
17071655 return nil , err
0 commit comments