protected override IDistributor<int> CreateDistributor( Func<Lease<int>, Task> onReceive = null, Leasable<int>[] leasables = null, int maxDegreesOfParallelism = 1, string name = null, TimeSpan? waitInterval = null, string pool = null) { leasables = leasables ?? DefaultLeasable; pool = pool ?? DateTimeOffset.UtcNow.Ticks.ToString(); distributor = new SqlBrokeredDistributor<int>( leasables, Database, pool, maxDegreesOfParallelism, waitInterval, DefaultLeaseDuration); if (onReceive != null) { distributor.OnReceive(onReceive); } Database.RegisterLeasableResources(leasables, pool).Wait(); return distributor; }
protected override IDistributor <int> CreateDistributor( Func <Lease <int>, Task> onReceive = null, Leasable <int>[] leasables = null, int maxDegreesOfParallelism = 1, string name = null, TimeSpan?waitInterval = null, string pool = null) { leasables = leasables ?? DefaultLeasable; pool = pool ?? DateTimeOffset.UtcNow.Ticks.ToString(); distributor = new SqlBrokeredDistributor <int>( leasables, Database, pool, maxDegreesOfParallelism, waitInterval, DefaultLeaseDuration); if (onReceive != null) { distributor.OnReceive(onReceive); } Database.RegisterLeasableResources(leasables, pool).Wait(); return(distributor); }