Beispiel #1
0
        private void BackFillDefaults()
        {
            if (_validated)
            {
                return;
            }

            LoggerFactory = LoggerFactory ?? new LoggerFactory();
            _serializer   = _serializer ?? new PayloadSerializer();
            _protector    = _protector ?? new PayloadProtector();
            _cronProvider = _cronProvider ?? new CronProvider();
            _resolver     = _resolver ?? new DependencyResolver(_services, GetConfiguredAssemblies());
            _dispatcher   = _dispatcher ?? new WorkDispatcher(_resolver);


            _services.Add(typeof(ILoggerFactory), LoggerFactory);
            _services.Add(typeof(IPayloadProtector), _protector);
            _services.Add(typeof(IPayloadSerializer), _serializer);
            _services.Add(typeof(IWorkDispatcher), _dispatcher);

            Validate();

            var logger = LoggerFactory.CreateLogger <QuidjiboBuilder>();

            logger.LogDebug("Work Factory : {WorkerFactory}", WorkProviderFactory.GetType().Name);
            logger.LogDebug("Schedule Factory : {ScheduleFactory}", ScheduleProviderFactory.GetType().Name);
            logger.LogDebug("Progress Factory : {ProgressFactory}", ProgressProviderFactory.GetType().Name);
            logger.LogDebug("Serializer : {Serializer}", _serializer.GetType().Name);
            logger.LogDebug("Protector : {Protector}", _protector.GetType().Name);
            logger.LogDebug("Cron : {Cron}", _cronProvider.GetType().Name);
            logger.LogDebug("Resolver: {Resolver}", _resolver.GetType().Name);
            logger.LogDebug("Dispatcher: {Dispatcher}", _dispatcher.GetType().Name);
        }
Beispiel #2
0
 public QuidjiboClient(
     ILoggerFactory loggerFactory,
     IWorkProviderFactory workProviderFactory,
     IScheduleProviderFactory scheduleProviderFactory,
     IPayloadSerializer payloadSerializer,
     IPayloadProtector payloadProtector,
     ICronProvider cronProvider)
 {
     _logger = loggerFactory.CreateLogger(GetType());
     _workProviderFactory     = workProviderFactory;
     _scheduleProviderFactory = scheduleProviderFactory;
     _payloadSerializer       = payloadSerializer;
     _payloadProtector        = payloadProtector;
     _cronProvider            = cronProvider;
 }
 public IQuidjiboPipeline Build(
     ILoggerFactory loggerFactory,
     IDependencyResolver resolver,
     IPayloadProtector protector,
     IPayloadSerializer serializer,
     IWorkDispatcher dispatcher)
 {
     return(new QuidjiboPipeline(
                _steps,
                loggerFactory,
                resolver,
                protector,
                serializer,
                dispatcher));
 }
Beispiel #4
0
 public QuidjiboPipeline(
     IList <PipelineStep> steps,
     ILoggerFactory loggerFactory,
     IDependencyResolver resolver,
     IPayloadProtector protector,
     IPayloadSerializer serializer,
     IWorkDispatcher dispatcher)
 {
     _resolver      = resolver;
     _protector     = protector;
     _serializer    = serializer;
     _dispatcher    = dispatcher;
     _loggerFactory = loggerFactory;
     _logger        = loggerFactory.CreateLogger <QuidjiboPipeline>();
     _steps         = steps;
     _running       = new ConcurrentDictionary <IQuidjiboContext, Queue <PipelineStep> >();
 }
        public void Init()
        {
            _loggerFactory           = Substitute.For <ILoggerFactory>();
            _scheduleProviderFactory = Substitute.For <IScheduleProviderFactory>();
            _scheduleProvider        = Substitute.For <IScheduleProvider>();
            _workProviderFactory     = Substitute.For <IWorkProviderFactory>();
            _workProvider            = Substitute.For <IWorkProvider>();
            _payloadSerializer       = Substitute.For <IPayloadSerializer>();
            _payloadProtector        = Substitute.For <IPayloadProtector>();
            _cronProvider            = Substitute.For <ICronProvider>();

            _sut = new QuidjiboClient(
                _loggerFactory,
                _workProviderFactory,
                _scheduleProviderFactory,
                _payloadSerializer,
                _payloadProtector,
                _cronProvider);
            _sut.Clear();
        }
Beispiel #6
0
        private void BackFillDefaults()
        {
            if (_validated)
            {
                return;
            }

            LoggerFactory = LoggerFactory ?? new LoggerFactory();
            _serializer   = _serializer ?? new PayloadSerializer();
            _protector    = _protector ?? new PayloadProtector();
            _cronProvider = _cronProvider ?? new CronProvider();
            _resolver     = _resolver ?? new DependencyResolver(_services, _assemblies);
            _dispatcher   = _dispatcher ?? new WorkDispatcher(_resolver);


            _services.Add(typeof(ILoggerFactory), LoggerFactory);
            _services.Add(typeof(IPayloadProtector), _protector);
            _services.Add(typeof(IPayloadSerializer), _serializer);
            _services.Add(typeof(IWorkDispatcher), _dispatcher);

            Validate();
        }
Beispiel #7
0
 /// <summary>
 ///     Configure a custom protector. (Optional)
 /// </summary>
 /// <param name="protector"></param>
 /// <returns></returns>
 public QuidjiboBuilder ConfigureProtector(IPayloadProtector protector)
 {
     _protector = protector;
     return(this);
 }