18
18
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
// THE SOFTWARE.
20
20
21
- package main
21
+ package timeractivityloop
22
22
23
23
import (
24
24
"context"
@@ -31,33 +31,28 @@ import (
31
31
"github.com/uber/cadence/simulation/replication/types"
32
32
)
33
33
34
- var (
35
- workflows = map [string ]any {"test-workflow" : TestWorkflow }
36
- activities = map [string ]any {"test-activity" : TestActivity }
37
- )
38
-
39
- func TestWorkflow (ctx workflow.Context , input types.WorkflowInput ) (types.WorkflowOutput , error ) {
34
+ func Workflow (ctx workflow.Context , input types.WorkflowInput ) (types.WorkflowOutput , error ) {
40
35
logger := workflow .GetLogger (ctx )
41
- logger .Sugar ().Infof ("testWorkflow started with input: %+v" , input )
36
+ logger .Sugar ().Infof ("timer-activity-loop-workflow started with input: %+v" , input )
42
37
43
38
endTime := workflow .Now (ctx ).Add (input .Duration )
44
39
count := 0
45
40
for {
46
- logger .Sugar ().Infof ("testWorkflow iteration %d" , count )
41
+ logger .Sugar ().Infof ("timer-activity-loop-workflow iteration %d" , count )
47
42
selector := workflow .NewSelector (ctx )
48
43
activityFuture := workflow .ExecuteActivity (workflow .WithActivityOptions (ctx , workflow.ActivityOptions {
49
44
TaskList : types .TasklistName ,
50
45
ScheduleToStartTimeout : 10 * time .Second ,
51
46
StartToCloseTimeout : 10 * time .Second ,
52
- }), TestActivity , "World" )
47
+ }), FormatStringActivity , "World" )
53
48
selector .AddFuture (activityFuture , func (f workflow.Future ) {
54
- logger .Info ("testWorkflow completed activity" )
49
+ logger .Info ("timer-activity-loop-workflow completed activity" )
55
50
})
56
51
57
52
// use timer future to send notification email if processing takes too long
58
53
timerFuture := workflow .NewTimer (ctx , types .TimerInterval )
59
54
selector .AddFuture (timerFuture , func (f workflow.Future ) {
60
- logger .Info ("testWorkflow timer fired" )
55
+ logger .Info ("timer-activity-loop-workflow timer fired" )
61
56
})
62
57
63
58
// wait for both activity and timer to complete
@@ -67,19 +62,19 @@ func TestWorkflow(ctx workflow.Context, input types.WorkflowInput) (types.Workfl
67
62
68
63
now := workflow .Now (ctx )
69
64
if now .Before (endTime ) {
70
- logger .Sugar ().Infof ("testWorkflow will continue iteration because [now %v] < [endTime %v]" , now , endTime )
65
+ logger .Sugar ().Infof ("timer-activity-loop-workflow will continue iteration because [now %v] < [endTime %v]" , now , endTime )
71
66
} else {
72
- logger .Sugar ().Infof ("testWorkflow will exit because [now %v] >= [endTime %v]" , now , endTime )
67
+ logger .Sugar ().Infof ("timer-activity-loop-workflow will exit because [now %v] >= [endTime %v]" , now , endTime )
73
68
break
74
69
}
75
70
}
76
71
77
- logger .Info ("testWorkflow completed" )
72
+ logger .Info ("timer-activity-loop-workflow completed" )
78
73
return types.WorkflowOutput {Count : count }, nil
79
74
}
80
75
81
- func TestActivity (ctx context.Context , input string ) (string , error ) {
76
+ func FormatStringActivity (ctx context.Context , input string ) (string , error ) {
82
77
logger := activity .GetLogger (ctx )
83
- logger .Info ("testActivity started" )
78
+ logger .Info ("timer-activity-loop-workflow format-string-activity started" )
84
79
return fmt .Sprintf ("Hello, %s!" , input ), nil
85
80
}
0 commit comments