X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/949d940b5f75114f86d381c347f0ba8f26b3e9b9..b5706a159950720d692790a7577170091f29bc6a:/lib/dispatchcloud/cmd.go diff --git a/lib/dispatchcloud/cmd.go b/lib/dispatchcloud/cmd.go index 92948fb300..81982cdc1a 100644 --- a/lib/dispatchcloud/cmd.go +++ b/lib/dispatchcloud/cmd.go @@ -5,15 +5,33 @@ package dispatchcloud import ( - "git.curoverse.com/arvados.git/lib/cmd" - "git.curoverse.com/arvados.git/lib/service" - "git.curoverse.com/arvados.git/sdk/go/arvados" + "context" + "fmt" + + "git.arvados.org/arvados.git/lib/cmd" + "git.arvados.org/arvados.git/lib/service" + "git.arvados.org/arvados.git/sdk/go/arvados" + "github.com/prometheus/client_golang/prometheus" ) var Command cmd.Handler = service.Command(arvados.ServiceNameDispatchCloud, newHandler) -func newHandler(cluster *arvados.Cluster, _ *arvados.NodeProfile) service.Handler { - d := &dispatcher{Cluster: cluster} +func newHandler(ctx context.Context, cluster *arvados.Cluster, token string, reg *prometheus.Registry) service.Handler { + ac, err := arvados.NewClientFromConfig(cluster) + if err != nil { + return service.ErrorHandler(ctx, cluster, fmt.Errorf("error initializing client from cluster config: %s", err)) + } + // Disable auto-retry. We have transient failure recovery at + // the application level, so we would rather receive/report + // upstream errors right away. + ac.Timeout = 0 + d := &dispatcher{ + Cluster: cluster, + Context: ctx, + ArvClient: ac, + AuthToken: token, + Registry: reg, + } go d.Start() return d }