Ejemplo n.º 1
0
        private void RegisterMessageQueue()
        {
            ITinyThreadPool threadPool = TinyThreadPool.Create(x =>
            {
                x.MaxThreads             = 3;
                x.MultiThreadingCapacity = MultiThreadingCapacity.PerProcessor;
            });

            IMessageQueue inputQueue = QueueConfiguration.Create()
                                       .Configure(config =>
            {
                config.DataSerializer = KernelInstance.Get <IDataSerializer>();
                config.QueueUrl       = _settings.InputTweetQueueUrl;
            }).CreateLocalQueue();

            IMessageQueue outputQueue = QueueConfiguration.Create()
                                        .Configure(config =>
            {
                config.DataSerializer = KernelInstance.Get <IDataSerializer>();
                config.QueueUrl       = _settings.OutputTweetQueueUrl;
            }).CreateLocalQueue();

            Bind <StopWordsProcessor>().ToConstructor(x => new StopWordsProcessor(inputQueue, outputQueue, threadPool, x.Inject <IDataSerializer>()))
            .InSingletonScope();
        }
Ejemplo n.º 2
0
 public void Create_InvalidThreadRange_ThrowException(int minThreads, int maxThreads)
 {
     Assert.Throws <ConfigurationErrorsException>(() => TinyThreadPool.Create(x =>
     {
         x.MinThreads = minThreads;
         x.MaxThreads = maxThreads;
     }));
 }
Ejemplo n.º 3
0
        private static void Main()
        {
            // create default TinyThreadPool instance or thru method TinyThreadPool.Create
            // _threadPool = TinyThreadPool.Default;

            _threadPool = TinyThreadPool.Create(x =>
            {
                x.Name                   = "My ThreadPool";
                x.MinThreads             = 2;
                x.MaxThreads             = 10;
                x.MultiThreadingCapacity = MultiThreadingCapacity.Global;
            });

            AddTasks();
            Console.ReadKey();
        }
Ejemplo n.º 4
0
        public void Create_NewThreadPool_Success()
        {
            const string Name       = "MyThreadPool";
            const int    MinThreads = 4;
            const int    MaxThreads = 6;
            const MultiThreadingCapacity MultiThreadingCapacity = MultiThreadingCapacity.Global;

            ITinyThreadPool threadPool = TinyThreadPool.Create(x =>
            {
                x.Name                   = Name;
                x.MinThreads             = MinThreads;
                x.MaxThreads             = MaxThreads;
                x.MultiThreadingCapacity = MultiThreadingCapacity;
            });

            Assert.Equal(MultiThreadingCapacity, threadPool.MultiThreadingCapacity);
            Assert.Equal(MinThreads, threadPool.MinThreads);
            Assert.Equal(MaxThreads, threadPool.MaxThreads);
            Assert.Equal(Name, threadPool.Name);
            Console.WriteLine(threadPool.ToString());
        }
Ejemplo n.º 5
0
 public void Create_InvalidTaskQueue_ThrowException()
 {
     Assert.Throws <ArgumentNullException>(() => TinyThreadPool.Create(x => { x.TaskQueueController = new DefaultTaskQueueController(null); }));
 }
Ejemplo n.º 6
0
 public void Create_InvalidTaskQueueController_ThrowException()
 {
     Assert.Throws <ConfigurationErrorsException>(() => TinyThreadPool.Create(x => { x.TaskQueueController = null; }));
 }
Ejemplo n.º 7
0
 public void Create_InvalidName_ThrowException(string name)
 {
     Assert.Throws <ConfigurationErrorsException>(() => TinyThreadPool.Create(x => { x.Name = name; }));
 }