@@ -63,34 +63,35 @@ func (dispatcher *EventDispatcher) DispatchSync(ctx context.Context, event cloud
6363}
6464
6565// DispatchWithTimeout dispatches an event with a timeout
66- func (dispatcher * EventDispatcher ) DispatchWithTimeout (ctx context.Context , event cloudevents.Event , timeout time.Duration ) error {
66+ func (dispatcher * EventDispatcher ) DispatchWithTimeout (ctx context.Context , event cloudevents.Event , timeout time.Duration ) ( queueID string , err error ) {
6767 ctx , span := dispatcher .tracer .Start (ctx )
6868 defer span .End ()
6969
7070 if err := event .Validate (); err != nil {
7171 msg := fmt .Sprintf ("cannot dispatch event with ID [%s] and type [%s] because it is invalid" , event .ID (), event .Type ())
72- return dispatcher .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
72+ return queueID , dispatcher .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
7373 }
7474
7575 task , err := dispatcher .createCloudTask (event )
7676 if err != nil {
7777 msg := fmt .Sprintf ("cannot create cloud task for event [%s] with id [%s]" , event .Type (), event .ID ())
78- return dispatcher .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
78+ return queueID , dispatcher .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
7979 }
8080
8181 if _ , err = dispatcher .queue .Enqueue (ctx , task , timeout ); err != nil {
8282 msg := fmt .Sprintf ("cannot enqueue event with ID [%s] and type [%s]" , event .ID (), event .Type ())
83- return dispatcher .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
83+ return queueID , dispatcher .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
8484 }
8585
86- return nil
86+ return queueID , nil
8787}
8888
8989// Dispatch a new event by adding it to the queue to be processed async
9090func (dispatcher * EventDispatcher ) Dispatch (ctx context.Context , event cloudevents.Event ) error {
9191 ctx , span := dispatcher .tracer .Start (ctx )
9292 defer span .End ()
93- return dispatcher .DispatchWithTimeout (ctx , event , time .Nanosecond * - 1 )
93+ _ , err := dispatcher .DispatchWithTimeout (ctx , event , time .Nanosecond * - 1 )
94+ return err
9495}
9596
9697// Subscribe a listener to an event
0 commit comments