Created
March 4, 2022 07:27
-
-
Save percybolmer/50c652b5dddf969db12d0bf5ff8951c4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
localprom "programmingpercy/cadence-tavern/prometheus" | |
_ "programmingpercy/cadence-tavern/workflows/greetings" | |
_ "programmingpercy/cadence-tavern/workflows/orders" | |
_ "go.uber.org/cadence/.gen/go/cadence" | |
"go.uber.org/cadence/.gen/go/cadence/workflowserviceclient" | |
"go.uber.org/cadence/worker" | |
"go.uber.org/yarpc" | |
_ "go.uber.org/yarpc/api/transport" | |
"go.uber.org/yarpc/transport/tchannel" | |
"go.uber.org/zap" | |
"go.uber.org/zap/zapcore" | |
) | |
..... unchanged until | |
// newWorkerServiceClient is used to initialize a new Worker service | |
// It will handle Connecting and configuration of the client | |
// Returns a Worker, the logger applied or an error | |
// TODO expand this function to allow more configurations, will be done later in the article. | |
func newWorkerServiceClient() (worker.Worker, *zap.Logger, error) { | |
// Create a logger to use for the service | |
logger, err := newLogger() | |
if err != nil { | |
return nil, nil, err | |
} | |
reporter, err := localprom.NewPrometheusReporter("127.0.0.1:9098", logger) | |
if err != nil { | |
return nil, nil, err | |
} | |
metricsScope := localprom.NewServiceScope(reporter) | |
// build the most basic Options for now | |
workerOptions := worker.Options{ | |
Logger: logger, | |
MetricsScope: metricsScope, | |
} | |
// Create the connection that the worker should use | |
connection, err := newCadenceConnection(ClientName) | |
if err != nil { | |
return nil, nil, err | |
} | |
// Create the worker and return | |
return worker.New(connection, Domain, TaskList, workerOptions), logger, nil | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment