Esempio n. 1
0
        public void Subscribe(string qName)
        {
            //channel.ExchangeDeclare(exchange: qName, type: ExchangeType.Fanout);
            channel.QueueDeclare(queue: qName,
                                 durable: false,
                                 exclusive: false,
                                 autoDelete: false,
                                 arguments: null);

            //var queueName = channel.QueueDeclare().QueueName;

            /*channel.QueueBind(queue: queueName,
             *                exchange: qName,
             *                routingKey: "");*/
            var consumer = new EventingBasicConsumer(channel);

            consumer.Received += (model, ea) =>
            {
                var body    = ea.Body.ToArray();
                var message = Encoding.UTF8.GetString(body);
                Console.WriteLine("Analyst service: Recieved [JSON message] from DataService: message=" + message);
                SensorData sensorData = JsonConvert.DeserializeObject <SensorData>(message.ToString());
                Console.WriteLine("Analyst service: Deserialized object from message: object=" + sensorData.UnixTime);

                //send object for further analize
                _da.Analyze(sensorData);
            };

            channel.BasicConsume(queue: qName,
                                 autoAck: true,
                                 consumer: consumer);
        }
Esempio n. 2
0
        public async Task <ActionResult> Post([FromBody] SensorData sd)
        {
            await _da.Analyze(sd);

            return(Ok());
        }