Esempio n. 1
0
        public void Report(T obj, string reportId)
        {
            var options = PublishOptions
                          .RoutingTo(_routingKey)
                          .WithReportId(reportId);

            _producer.Publish(obj, options);
        }
Esempio n. 2
0
        public ActionResult Post()
        {
            var data = new BackgroundJobData
            {
                Id   = 1,
                Name = Guid.NewGuid().ToString()
            };

            _producer.Publish(data, PublishOptions.RoutingTo("BackgroundJob").WithReportId(Request));
            return(Ok());
        }
Esempio n. 3
0
        public async Task Consume(SomeData obj, MessageContext context, CancellationToken cancellationToken)
        {
            var randomDelay = _random.Next(50);
            await Task.Delay(randomDelay, cancellationToken);

            _logger.LogInformation("Received message {text} at {date}", obj.Text, obj.Date);

            var otherData = new OtherData {
                Date = DateTime.Now
            };

            _producer.Publish(otherData, PublishOptions.RoutingTo("test2"));
        }
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            const string RountingKey = "test";

            while (!stoppingToken.IsCancellationRequested)
            {
                var number = _random.Next();
                var data   = new SomeData(
                    id: number,
                    name: $"Some Name {number}"
                    );

                _producer.Publish(data, PublishOptions.RoutingTo(RountingKey));
                await Task.Delay(1000, stoppingToken);
            }
        }
Esempio n. 5
0
        public ActionResult <SomeData> Get(string text)
        {
            if (string.IsNullOrEmpty(text))
            {
                text = "empty text";
            }

            var message = new SomeData
            {
                Date = DateTime.Now,
                Text = text
            };

            _producer.Publish(message, PublishOptions.RoutingTo("test"));

            return(message);
        }