@@ -17,7 +17,6 @@ package main
1717
1818import (
1919
20- " go.uber.org/cadence/.gen/go/cadence"
2120 " go.uber.org/cadence/.gen/go/cadence/workflowserviceclient"
2221 " go.uber.org/cadence/worker"
2322
@@ -29,33 +28,36 @@ import (
2928 " go.uber.org/yarpc/transport/tchannel"
3029)
3130
32- var HostPort = " 127.0.0.1:7933"
33- var Domain = " SimpleDomain"
34- var TaskListName = " SimpleWorker"
35- var ClientName = " SimpleWorker"
36- var CadenceService = " cadence-frontend"
31+ const (
32+ HostPort = " 127.0.0.1:7933"
33+ Domain = " SimpleDomain"
34+ TaskListName = " SimpleWorker"
35+ ClientName = " SimpleWorker"
36+ CadenceService = " cadence-frontend"
37+ )
3738
38- func main () {
39- startWorker (buildLogger (), buildCadenceClient ())
40- }
39+ var logger *zap.Logger
4140
42- func buildLogger () *zap .Logger {
43- config := zap.NewDevelopmentConfig ()
44- config.Level .SetLevel (zapcore.InfoLevel )
41+ func init () {
42+ config := zap.NewDevelopmentConfig ()
43+ config.Level .SetLevel (zapcore.InfoLevel )
44+ logger = zap.Must (config.Build ())
45+ }
4546
46- var err error
47- logger , err := config.Build ()
47+ func main () {
48+ serviceClient := buildCadenceClient ()
49+ worker := buildWorker (serviceClient)
50+ err := worker.Start ()
4851 if err != nil {
49- panic (" Failed to setup logger " )
52+ logger. Fatal (" Failed to start worker " )
5053 }
51-
52- return logger
54+ logger.Info (" Started Worker." , zap.String (" worker" , TaskListName))
5355}
5456
5557func buildCadenceClient () workflowserviceclient .Interface {
5658 ch , err := tchannel.NewChannelTransport (tchannel.ServiceName (ClientName))
5759 if err != nil {
58- panic (" Failed to setup tchannel" )
60+ logger. Fatal (" Failed to setup tchannel" )
5961 }
6062 dispatcher := yarpc.NewDispatcher (yarpc.Config {
6163 Name: ClientName,
@@ -64,31 +66,25 @@ func buildCadenceClient() workflowserviceclient.Interface {
6466 },
6567 })
6668 if err := dispatcher.Start (); err != nil {
67- panic (" Failed to start dispatcher" )
69+ logger. Fatal (" Failed to start dispatcher" )
6870 }
6971
7072 return workflowserviceclient.New (dispatcher.ClientConfig (CadenceService))
7173}
7274
73- func startWorker ( logger * zap . Logger , service workflowserviceclient .Interface ) {
75+ func buildWorker ( service workflowserviceclient .Interface ) worker . Worker {
7476 // TaskListName identifies set of client workflows, activities, and workers.
7577 // It could be your group or client or application name.
7678 workerOptions := worker.Options {
7779 Logger: logger,
7880 MetricsScope: tally.NewTestScope (TaskListName, map [string ]string {}),
7981 }
80-
81- worker := worker.New (
82+ return worker.New (
8283 service,
8384 Domain,
8485 TaskListName,
85- workerOptions)
86- err := worker.Start ()
87- if err != nil {
88- panic (" Failed to start worker" )
89- }
90-
91- logger.Info (" Started Worker." , zap.String (" worker" , TaskListName))
86+ workerOptions,
87+ )
9288}
9389```
9490
0 commit comments