Exemplo n.º 1
0
        public void StartHeartbeat()
        {
            // heart beats
            var rpcClientHeartbeat = RpcClientFactory.CreateRpcClient(_channel);

            _heartBeatTicker.Elapsed += (object sender, ElapsedEventArgs e) => _ = SendHeartbeatAsync(rpcClientHeartbeat);
            _heartBeatTicker.Start();
        }
Exemplo n.º 2
0
        public async Task RunAsync(CancellationToken cancelToken)
        {
            // worker tasks
            if (this.IsWorking)
            {
                return;
            }
            this.IsWorking = true;

            var rpcClientWorkTask = RpcClientFactory.CreateRpcClient(_channel);
            var workTask          = Task.Run(() => WorkLoopAsync(rpcClientWorkTask, cancelToken), cancelToken);

            try
            {
                await Task.WhenAll(workTask).ConfigureAwait(false);
            }
            finally
            {
                this.IsWorking = false;
            }
        }