import { Topology, ClusterClient, strategies, senders } from '@skbkontur/cluster-client'; const { ForkingRequestStrategy } = strategies; const { RequestSender } = senders; class ForkingClusterClientProvider { private _clusterConfig: any; private _strategy: any; private _requestSender: any; constructor({ clusterConfig }: any) { this._clusterConfig = clusterConfig; this._requestSender = new RequestSender(); this._strategy = new ForkingRequestStrategy(300); } createClusterClient( topologyName: string, serviceDiscoveryName?: string, serviceDiscoveryZone?: string) /* : ClusterClient */ { const topology = new Topology(this._clusterConfig, topologyName, serviceDiscoveryName, serviceDiscoveryZone) return new ClusterClient(topology, this._strategy, this._requestSender); } } export default ForkingClusterClientProvider;