大众运输-消费者参与人数

时间:2020-04-28 11:41:07

标签: masstransit consumer long-running-processes

作为SAGA的一部分,我已经运行了很长时间的PDF,因此我了解了投票率,并正在尝试使用它。但是,我有一个复杂的使用者-多次调用数据库,依赖于第三方服务生成PDF等。我很难找到一个很好的示例来说明我应该如何使用Turnout端点。

我当前的用法是:

c.TurnoutEndpoint<PdfGenerationCommand>(host, "pdf-generation-TURNOUT", e =>
            {
                e.SuperviseInterval = TimeSpan.FromSeconds(30);
                e.SetJobFactory(async context =>
                {
                    var consumer = container.GetInstance<PdfGenerationCommandConsumer>();
                    var sw = new Stopwatch();
                    sw.Start();

                    Console.WriteLine($"{DateTime.Now} - [PdfGenerationCommand] Job started!");
                    await consumer.Consume(context.Command).ConfigureAwait(false);
                    sw.Stop();
                    Console.WriteLine($"{DateTime.Now} - [PdfGenerationCommand] Job finished in {sw.ElapsedMilliseconds}!");
                });
            });

但是,消息最终出现在_skipped队列中。我做错了什么,我看不到

0 个答案:

没有答案