Пример #1
0
 public LeaseAllocator(
     IBigBrother telemetry,
     ILeaseStore leaseStore,
     ISlottedInterval slottedInterval,
     IOptions <WorkerLeaseOptions> options)
 {
     _telemetry       = telemetry ?? throw new ArgumentNullException(nameof(telemetry));
     _leaseStore      = leaseStore ?? throw new ArgumentNullException(nameof(leaseStore));
     _slottedInterval = slottedInterval ?? throw new ArgumentNullException(nameof(slottedInterval));
     _options         = options ?? throw new ArgumentNullException(nameof(options));
 }
Пример #2
0
        public WorkerLease(
            IBigBrother telemetry,
            ILeaseAllocator leaseAllocator,
            ITimer timer,
            ISlottedInterval slottedInterval,
            IOptions <WorkerLeaseOptions> options)
        {
            _telemetry       = telemetry ?? throw new ArgumentNullException(nameof(telemetry));
            _leaseAllocator  = leaseAllocator ?? throw new ArgumentNullException(nameof(leaseAllocator));
            _options         = options ?? throw new ArgumentNullException(nameof(options));
            _timer           = timer ?? throw new ArgumentNullException(nameof(timer));
            _slottedInterval = slottedInterval ?? throw new ArgumentNullException(nameof(slottedInterval));

            InstanceId = _options.Value.InstanceId ?? Guid.NewGuid();

            if (string.IsNullOrWhiteSpace(_options.Value.WorkerType))
            {
                throw new ArgumentOutOfRangeException($"{nameof(options.Value.WorkerType)} cannot be null or empty");
            }
        }