public MongoDbService( IUnitIdProvider dhuIdProvider, string connString, string databaseName, TimeSpan leaseCheckTimeout, TimeSpan leaseLostTimeout, TimeSpan updateServerTimeInterval) { var client = new MongoClient(connString); this.database = client.GetDatabase(databaseName); this.leaseCollection = database.GetCollection <Lease>(TransportConstants.LeaseLockTable); this.leaseCheckTimeout = leaseCheckTimeout; this.leaseLostTimeout = leaseLostTimeout; this.timeService = new MongoDatabaseTimeService(connString, databaseName, updateServerTimeInterval); this.lockService = new MongoDbLeaseLockService(dhuIdProvider, this.timeService, connString, databaseName, leaseCheckTimeout, leaseLostTimeout); }
public MongoDbLeaseLockService(IUnitIdProvider dhuIdProvider, ITimeService timeService, string connString, string databaseName, TimeSpan leaseCheckTimeout, TimeSpan leaseLostTimeout) { if ((2 * leaseCheckTimeout.TotalMilliseconds) > leaseLostTimeout.TotalMilliseconds) { //throw new ArgumentException("lease Check Timeout must be less than lease Lost Timeout", "leaseCheckTimeout"); } var client = new MongoClient(connString); this.database = client.GetDatabase(databaseName); this.leaseCollection = database.GetCollection <Lease>(TransportConstants.LeaseLockTable); this.leaseCheckTimeout = leaseCheckTimeout; this.leaseLostTimeout = leaseLostTimeout; this.timeService = timeService; this.dhuIdProvider = dhuIdProvider; this.disposeCts = new CancellationTokenSource(); }
public MongoDbLeaseLockService(IUnitIdProvider dhuIdProvider, string connString, string databaseName, TimeSpan leaseCheckTimeout, TimeSpan leaseLostTimeout, TimeSpan updateTimeInterval) { if ((2 * leaseCheckTimeout.TotalMilliseconds) > leaseLostTimeout.TotalMilliseconds) { //throw new ArgumentException("lease Check Timeout must be less than lease Lost Timeout", "leaseCheckTimeout"); } var client = new MongoClient(connString); this.database = client.GetDatabase(databaseName); this.leaseCollection = database.GetCollection <Lease>(TransportConstants.LeaseLockTable); this.leaseCheckTimeout = leaseCheckTimeout; this.leaseLostTimeout = leaseLostTimeout; this.timeService = new MongoDatabaseTimeService(connString, databaseName, updateTimeInterval); this.dhuIdProvider = dhuIdProvider; }
public static IServiceCollection AddMongoServices(this IServiceCollection services, IUnitIdProvider unitIdProvider, MongoServicesOptions options) { services.AddSingleton <IUnitIdProvider>(unitIdProvider); services.AddSingleton <IDbServicesFactory, MongoDbServicesFactory>(); services.AddSingleton <IDbClusterSearchUtils, DbClusterSearchUtils>(); services.AddSingleton <IDbClusterService, DbClusterLeaseService>(ctx => { return(new DbClusterLeaseService(ctx.GetRequiredService <IDbClusterSearchUtils>(), options.DbClusterParameters, options.Settings)); }); return(services); }
public ProcessingService(IUnitIdProvider dpuIdProvider, IEnumerable <IProcessorManager> processorManagers, ProcessingSettings settings) { this.dpuIdProvider = dpuIdProvider; this.processorManagers = processorManagers; this.settings = settings; }
public MongoDbServicesFactory(IUnitIdProvider unitIdProvider) { this.unitIdProvider = unitIdProvider; }
public Unit(IUnitIdProvider idProvider) { this.id = idProvider.GetNextUnitId(); }