【发布时间】:2014-02-07 15:31:10
【问题描述】:
我们刚刚开始在 C# 中使用 RabbitMQ。我目前的计划是在数据库中配置在给定服务器上运行的消费者的数量和种类。我们有一个现有的 Windows 服务,当它启动时,我想产生所有的 RabbitMQ 消费者。我的问题是从 Windows 服务中生成这些的最佳方法是什么?
我目前的计划是从数据库中读取配置并为每个消费者生成一个长时间运行的任务。
var t = new Task(() =>
{
var instance = LoadConsumerClass(consumerEnum, consumerName);
instance.StartConsuming();//blocking call
}, TaskCreationOptions.LongRunning);
t.Start();
这比为每个消费者创建一个线程好还是坏?
var messageConsumer = LoadConsumerClass(consumerEnum, consumerName);
var thread = new Thread(messageConsumer.StartConsuming);
我希望有更多的人已经尝试过我正在做的事情,并且可以为我提供一些想法,告诉我哪些行得通,哪些行得通。
【问题讨论】:
标签: c# windows-services rabbitmq