public SubmissionJob(string name, SynchronizedHashtable processingSubmissionIds)
        {
            this.Name = name;

            this.logger = LogManager.GetLogger(name);
            this.logger.Info("SubmissionJob initializing...");

            this.stopping = false;
            this.processingSubmissionIds = processingSubmissionIds;

            this.logger.Info("SubmissionJob initialized.");
        }
        public LocalWorkerService()
        {
            logger = LogManager.GetLogger("LocalWorkerService");
            logger.Info("LocalWorkerService initializing...");

            this.threads = new List<Thread>();
            this.jobs = new List<IJob>();
            var processingSubmissionIds = new SynchronizedHashtable();

            for (int i = 1; i <= Settings.ThreadsCount; i++)
            {
                var job = new SubmissionJob(string.Format("Job №{0}", i), processingSubmissionIds);
                var thread = new Thread(job.Start) { Name = string.Format("Thread №{0}", i) };
                this.jobs.Add(job);
                this.threads.Add(thread);
            }

            logger.Info("LocalWorkerService initialized.");
        }