Exemple #1
0
        public static async void GetTelemetryFromDB(string machineId, int period, string field)
        {
            try
            {
                var query = new Query();
                query.MachineId = machineId;
                query.Period    = period;
                query.Field     = field;
                var data    = JsonConvert.SerializeObject(query);
                var request = new AMQPMessage();
                request.Sender = _config.Communications.AMQP.Queue;
                request.Data   = data;
                request.Type   = AMQPMessageType.Query;

                var json = JsonConvert.SerializeObject(request);
                //Inizializzo nuovo canale dedicato e riservato al thread corrente
                var channel = _amqpconn.CreateChannel();
                //Scrivo messaggio query sul canale appena creato
                await _amqpconn.SendMessageAsync(_config.Communications.AMQP.Exchange, "database", json, channel);

                //Chiudo canale
                _amqpconn.CloseChannel(channel);
            }
            catch (Exception e)
            {
                log.Error($"Error: {e.Message}");
            }
        }