@@ -30,17 +30,17 @@ go mod init <your-go-module>
3030package main
3131
3232import (
33- " net/http"
34- " go.uber.org/cadence/.gen/go/cadence/workflowserviceclient"
35- " go.uber.org/cadence/compatibility"
36- " go.uber.org/cadence/worker"
37-
38- apiv1 " github.com/uber/cadence-idl/go/proto/api/v1"
39- " github.com/uber-go/tally"
40- " go.uber.org/zap"
41- " go.uber.org/zap/zapcore"
42- " go.uber.org/yarpc"
43- " go.uber.org/yarpc/transport/grpc"
33+ " net/http"
34+ " go.uber.org/cadence/.gen/go/cadence/workflowserviceclient"
35+ " go.uber.org/cadence/compatibility"
36+ " go.uber.org/cadence/worker"
37+
38+ apiv1 " github.com/uber/cadence-idl/go/proto/api/v1"
39+ " github.com/uber-go/tally"
40+ " go.uber.org/zap"
41+ " go.uber.org/zap/zapcore"
42+ " go.uber.org/yarpc"
43+ " go.uber.org/yarpc/transport/grpc"
4444)
4545
4646var HostPort = " 127.0.0.1:7833"
@@ -50,70 +50,70 @@ var ClientName = "test-worker"
5050var CadenceService = " cadence-frontend"
5151
5252func main () {
53- startWorker (buildLogger (), buildCadenceClient ())
54- err := http.ListenAndServe (" :8080" , nil )
55- if err != nil {
56- panic (err)
57- }
53+ startWorker (buildLogger (), buildCadenceClient ())
54+ err := http.ListenAndServe (" :8080" , nil )
55+ if err != nil {
56+ panic (err)
57+ }
5858}
5959
6060func buildLogger () *zap .Logger {
61- config := zap.NewDevelopmentConfig ()
62- config.Level .SetLevel (zapcore.InfoLevel )
61+ config := zap.NewDevelopmentConfig ()
62+ config.Level .SetLevel (zapcore.InfoLevel )
6363
64- var err error
65- logger , err := config.Build ()
66- if err != nil {
67- panic (" Failed to setup logger" )
68- }
64+ var err error
65+ logger , err := config.Build ()
66+ if err != nil {
67+ panic (" Failed to setup logger" )
68+ }
6969
70- return logger
70+ return logger
7171}
7272
7373func buildCadenceClient () workflowserviceclient .Interface {
74- dispatcher := yarpc.NewDispatcher (yarpc.Config {
74+ dispatcher := yarpc.NewDispatcher (yarpc.Config {
7575 Name: ClientName,
7676 Outbounds: yarpc.Outbounds {
77- CadenceService: {Unary: grpc.NewTransport ().NewSingleOutbound (HostPort)},
77+ CadenceService: {Unary: grpc.NewTransport ().NewSingleOutbound (HostPort)},
7878 },
79- })
80- if err := dispatcher.Start (); err != nil {
79+ })
80+ if err := dispatcher.Start (); err != nil {
8181 panic (" Failed to start dispatcher" )
82- }
82+ }
8383
84- clientConfig := dispatcher.ClientConfig (CadenceService)
84+ clientConfig := dispatcher.ClientConfig (CadenceService)
8585
86- return compatibility.NewThrift2ProtoAdapter (
86+ return compatibility.NewThrift2ProtoAdapter (
8787 apiv1.NewDomainAPIYARPCClient (clientConfig),
8888 apiv1.NewWorkflowAPIYARPCClient (clientConfig),
8989 apiv1.NewWorkerAPIYARPCClient (clientConfig),
9090 apiv1.NewVisibilityAPIYARPCClient (clientConfig),
91- )
91+ )
9292}
9393
9494func startWorker (logger *zap .Logger , service workflowserviceclient .Interface ) {
95- // TaskListName identifies set of client workflows, activities, and workers.
96- // It could be your group or client or application name.
97- workerOptions := worker.Options {
98- Logger: logger,
99- MetricsScope: tally.NewTestScope (TaskListName, map [string ]string {}),
100- }
101-
102- worker , err := worker.NewV2 (
103- service,
104- Domain,
105- TaskListName,
106- workerOptions)
107- if err != nil {
108- panic (" Failed to initalize worker" )
109- }
110-
111- err : = worker.Start ()
112- if err != nil {
113- panic (" Failed to start worker" )
114- }
115-
116- logger.Info (" Started Worker." , zap.String (" worker" , TaskListName))
95+ // TaskListName identifies set of client workflows, activities, and workers.
96+ // It could be your group or client or application name.
97+ workerOptions := worker.Options {
98+ Logger: logger,
99+ MetricsScope: tally.NewTestScope (TaskListName, map [string ]string {}),
100+ }
101+
102+ worker , err := worker.NewV2 (
103+ service,
104+ Domain,
105+ TaskListName,
106+ workerOptions)
107+ if err != nil {
108+ panic (" Failed to initialize worker" )
109+ }
110+
111+ err = worker.Start ()
112+ if err != nil {
113+ panic (" Failed to start worker" )
114+ }
115+
116+ logger.Info (" Started Worker." , zap.String (" worker" , TaskListName))
117117}
118118```
119119
@@ -174,10 +174,16 @@ func helloWorldActivity(ctx context.Context, name string) (string, error) {
174174Don't forget to register the workflow and activity to the worker.
175175
176176``` go
177- func init () {
178- workflow.Register (helloWorldWorkflow)
179- activity.Register (helloWorldActivity)
180- }
177+ // add to the function startWorker before calling worker.Start()
178+
179+ // if err != nil {
180+ // panic("Failed to initialize worker")
181+ // }
182+
183+ worker.RegisterWorkflow (helloWorldWorkflow)
184+ worker.RegisterActivity (helloWorldActivity)
185+
186+ // err = worker.Start()
181187```
182188
183189Import the missing modules if they were not automatically added.
0 commit comments