File tree Expand file tree Collapse file tree 3 files changed +26
-1
lines changed
tests/Temporalio.Tests/Worker Expand file tree Collapse file tree 3 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -2221,7 +2221,15 @@ public override Task<TResult> ScheduleLocalActivityAsync<TResult>(
22212221 cmd . Attempt = doBackoff . Attempt ;
22222222 cmd . OriginalScheduleTime = doBackoff . OriginalScheduleTime ;
22232223 }
2224- instance . AddCommand ( new ( ) { ScheduleLocalActivity = cmd } ) ;
2224+ var workflowCommand = new WorkflowCommand { ScheduleLocalActivity = cmd } ;
2225+ if ( input . Options . Summary is { } summary )
2226+ {
2227+ workflowCommand . UserMetadata = new ( )
2228+ {
2229+ Summary = payloadConverter . ToPayload ( summary ) ,
2230+ } ;
2231+ }
2232+ instance . AddCommand ( workflowCommand ) ;
22252233 return seq ;
22262234 } ,
22272235 input . Options . CancellationToken ?? instance . CancellationToken ) ;
Original file line number Diff line number Diff line change @@ -72,6 +72,13 @@ public class LocalActivityOptions : ICloneable
7272 /// </remarks>
7373 public TimeSpan ? LocalRetryThreshold { get ; set ; }
7474
75+ /// <summary>
76+ /// Gets or sets a single-line fixed summary for this activity that may appear in UI/CLI.
77+ /// This can be in single-line Temporal markdown format.
78+ /// </summary>
79+ /// <remarks>WARNING: This setting is experimental.</remarks>
80+ public string ? Summary { get ; set ; }
81+
7582 /// <summary>
7683 /// Create a shallow copy of these options.
7784 /// </summary>
Original file line number Diff line number Diff line change @@ -6234,6 +6234,13 @@ await Workflow.WaitConditionWithOptionsAsync(new(
62346234 Summary = "my-activity" ,
62356235 } ) ;
62366236
6237+ // Local activity
6238+ await Workflow . ExecuteLocalActivityAsync ( ( ) => DoNothing ( ) , new ( )
6239+ {
6240+ StartToCloseTimeout = TimeSpan . FromSeconds ( 30 ) ,
6241+ Summary = "my-local-activity" ,
6242+ } ) ;
6243+
62376244 // Child
62386245 await Workflow . ExecuteChildWorkflowAsync (
62396246 ( UserMetadataWorkflow wf ) => wf . RunAsync ( true ) ,
@@ -6269,6 +6276,9 @@ await ExecuteWorkerAsync<UserMetadataWorkflow>(
62696276 evt . UserMetadata ? . Summary ? . Data ? . ToStringUtf8 ( ) == "\" my-wait-condition-timer\" " ) ;
62706277 Assert . Contains ( history . Events , evt => evt . ActivityTaskScheduledEventAttributes != null &&
62716278 evt . UserMetadata ? . Summary ? . Data ? . ToStringUtf8 ( ) == "\" my-activity\" " ) ;
6279+ Assert . Contains ( history . Events , evt => evt . MarkerRecordedEventAttributes != null &&
6280+ evt . MarkerRecordedEventAttributes . MarkerName == "core_local_activity" &&
6281+ evt . UserMetadata ? . Summary ? . Data ? . ToStringUtf8 ( ) == "\" my-local-activity\" " ) ;
62726282 Assert . Contains ( history . Events , evt => evt . StartChildWorkflowExecutionInitiatedEventAttributes != null &&
62736283 evt . UserMetadata ? . Summary ? . Data ? . ToStringUtf8 ( ) == "\" my-child\" " &&
62746284 evt . UserMetadata ? . Details ? . Data ? . ToStringUtf8 ( ) == "\" my-child-details\" " ) ;
You can’t perform that action at this time.
0 commit comments