public StandardTaskEngineSetup(StandardTaskQueueConsumerSetup taskQueueConsumerSetup, StakhanoviseSetupDefaults defaults)
        {
            if (taskQueueConsumerSetup == null)
            {
                throw new ArgumentNullException(nameof(taskQueueConsumerSetup));
            }

            if (defaults == null)
            {
                throw new ArgumentNullException(nameof(defaults));
            }

            mWorkerCount            = defaults.WorkerCount;
            mTaskProcessingSetup    = new StandardTaskProcessingSetup(defaults);
            mTaskQueueConsumerSetup = taskQueueConsumerSetup;
            mExecutorAssemblies     = defaults.ExecutorAssemblies;
        }
示例#2
0
        public StakhanoviseSetup(StakhanoviseSetupDefaults defaults)
        {
            if (defaults == null)
            {
                throw new ArgumentNullException(nameof(defaults));
            }

            mMapping = defaults.Mapping;

            mSetupBuiltInDbAsssets = defaults
                                     .SetupBuiltInDbAsssets;

            mAppMetricsMonitoringEnabled = defaults
                                           .AppMetricsMonitoringEnabled;

            StandardConnectionSetup queueConsumerConnectionSetup =
                new StandardConnectionSetup(defaults);

            StandardConnectionSetup queueProducerConnectionSetup =
                new StandardConnectionSetup(defaults);

            StandardConnectionSetup queueInfoConnectionSetup =
                new StandardConnectionSetup(defaults);

            StandardConnectionSetup builtInTimingBeltConnectionSetup =
                new StandardConnectionSetup(defaults);

            StandardConnectionSetup builtInWriterConnectionSetup =
                new StandardConnectionSetup(defaults);

            StandardConnectionSetup builtInAppMetricsWriterConnectionSetup =
                new StandardConnectionSetup(defaults);

            mSetupDbAssetsConnectionSetup =
                new StandardConnectionSetup(defaults);

            mTaskQueueProducerSetup = new StandardTaskQueueProducerSetup(queueProducerConnectionSetup,
                                                                         defaults);

            mTaskQueueInfoSetup = new StandardTaskQueueInfoSetup(queueInfoConnectionSetup,
                                                                 defaults);

            mCommonTaskQueueConnectionSetup = new CollectiveConnectionSetup(queueConsumerConnectionSetup,
                                                                            queueProducerConnectionSetup,
                                                                            queueInfoConnectionSetup,
                                                                            builtInTimingBeltConnectionSetup,
                                                                            builtInWriterConnectionSetup,
                                                                            builtInAppMetricsWriterConnectionSetup,
                                                                            mSetupDbAssetsConnectionSetup);

            mTaskQueueConsumerSetup = new StandardTaskQueueConsumerSetup(queueConsumerConnectionSetup,
                                                                         defaults);

            mTaskEngineSetup = new StandardTaskEngineSetup(mTaskQueueConsumerSetup,
                                                           defaults);

            mPerformanceMonitorWriterSetup = new StandardExecutionPerformanceMonitorWriterSetup(builtInWriterConnectionSetup,
                                                                                                defaults);

            mAppMetricsMonitorSetup = new StandardAppMetricsMonitorSetup(defaults);

            mAppMetricsMonitorWriterSetup = new StandardAppMetricsMonitorWriterSetup(builtInAppMetricsWriterConnectionSetup,
                                                                                     defaults);
        }