public void Init() { _cts = new CancellationTokenSource(TimeSpan.FromSeconds(15)); _loggerFactory = Substitute.For <ILoggerFactory>(); _logger = Substitute.For <ILogger <QuidjiboServer> >(); _loggerFactory.CreateLogger <QuidjiboServer>().Returns(_logger); _quidjiboConfiguration = Substitute.For <IQuidjiboConfiguration>(); _workProviderFactory = Substitute.For <IWorkProviderFactory>(); _workProvider = Substitute.For <IWorkProvider>(); _workProviderFactory.CreateAsync(Arg.Any <string>(), Arg.Any <CancellationToken>()).Returns(Task.FromResult(_workProvider)); _workProviderFactory.PollingInterval.Returns(1); _scheduleProviderFactory = Substitute.For <IScheduleProviderFactory>(); _scheduleProvider = Substitute.For <IScheduleProvider>(); _scheduleProviderFactory.CreateAsync(Arg.Any <string[]>(), Arg.Any <CancellationToken>()).Returns(Task.FromResult(_scheduleProvider)); _scheduleProviderFactory.PollingInterval.Returns(1); _progressProviderFactory = Substitute.For <IProgressProviderFactory>(); _progressProvider = Substitute.For <IProgressProvider>(); _progressProviderFactory.CreateAsync(Arg.Any <string[]>(), Arg.Any <CancellationToken>()).Returns(Task.FromResult(_progressProvider)); Substitute.For <IWorkDispatcher>(); Substitute.For <IPayloadSerializer>(); _cronProvider = Substitute.For <ICronProvider>(); _pipeline = Substitute.For <IQuidjiboPipeline>(); _sut = new QuidjiboServer(_loggerFactory, _quidjiboConfiguration, _workProviderFactory, _scheduleProviderFactory, _progressProviderFactory, _cronProvider, _pipeline); }
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); }
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 QuidjiboServer( ILoggerFactory loggerFactory, IQuidjiboConfiguration quidjiboConfiguration, IWorkProviderFactory workProviderFactory, IScheduleProviderFactory scheduleProviderFactory, IProgressProviderFactory progressProviderFactory, ICronProvider cronProvider, IQuidjiboPipeline quidjiboPipeline) { _logger = loggerFactory.CreateLogger <QuidjiboServer>(); _workProviderFactory = workProviderFactory; _scheduleProviderFactory = scheduleProviderFactory; _quidjiboConfiguration = quidjiboConfiguration; _cronProvider = cronProvider; _quidjiboPipeline = quidjiboPipeline; _progressProviderFactory = progressProviderFactory; Worker = $"{Environment.GetEnvironmentVariable("COMPUTERNAME")}-{Guid.NewGuid()}"; }
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(); }
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(); }
/// <summary> /// Configure a custom cron provider. (Optional) /// </summary> /// <param name="cronProvider"></param> /// <returns></returns> public QuidjiboBuilder ConfigureCron(ICronProvider cronProvider) { _cronProvider = cronProvider; return(this); }