public FileLockerRedialManager(INetworkValidater networkValidater, IRedialer redialer) { _lockerFilePath = Path.Combine(SpiderEnviroment.GlobalDirectory, "redialer.lock"); AtomicExecutor = new FileLockerAtomicExecutor(this); NetworkValidater = networkValidater; Redialer = redialer; }
public RedisRedialManager(IDatabase db, INetworkValidater validater, IRedialer redialer, ILogService logger) { Logger = logger; Db = db; AtomicExecutor = new RedisAtomicExecutor(this); NetworkValidater = validater; Redialer = redialer; }
public RedisRedialManager(string host, string password, INetworkValidater validater, IRedialer redialer, ILogService logger) { Logger = logger; if (!string.IsNullOrEmpty(host)) { RedisHost = host; } else { throw new RedialException("Redis host should not be null."); } if (!string.IsNullOrEmpty(password)) { Password = password; } else { Password = null; } var confiruation = new ConfigurationOptions() { ServiceName = "DotnetSpider", Password = password, ConnectTimeout = 5000, KeepAlive = 8, ConnectRetry = 20, SyncTimeout = 65530, ResponseTimeout = 65530 }; #if NET_CORE if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { // Lewis: This is a Workaround for .NET CORE can't use EndPoint to create Socket. var address = Dns.GetHostAddressesAsync(host).Result.FirstOrDefault(); if (address == null) { throw new Exception("Can't resovle your host: " + host); } confiruation.EndPoints.Add(new IPEndPoint(address, 6379)); } else { confiruation.EndPoints.Add(new DnsEndPoint(host, 6379)); } #else confiruation.EndPoints.Add(new DnsEndPoint(host, 6379)); #endif var redis = ConnectionMultiplexer.Connect(confiruation); Db = redis.GetDatabase(3); AtomicExecutor = new RedisAtomicExecutor(this); NetworkValidater = validater; Redialer = redialer; }
public RedisRedialManager(string host, string password, INetworkValidater validater, IRedialer redialer, ILogService logger) { Logger = logger; if (!string.IsNullOrEmpty(host)) { RedisHost = host; } else { throw new RedialException("Redis host should not be null."); } if (!string.IsNullOrEmpty(password)) { Password = password; } else { Password = null; } var Redis = ConnectionMultiplexer.Connect(new ConfigurationOptions() { ServiceName = "DotnetSpider", Password = password, ConnectTimeout = 65530, KeepAlive = 8, ConnectRetry = 20, SyncTimeout = 65530, ResponseTimeout = 65530, EndPoints = { host, "6379" } }); Db = Redis.GetDatabase(3); AtomicExecutor = new RedisAtomicExecutor(this); NetworkValidater = validater; Redialer = redialer; }
public override void SetRedialManager(INetworkValidater networkValidater, IRedialer redialer) { NetworkProxyManager.Current.Register(new RedialExecutor(new Redial.RedialManager.RedisRedialManager(Host, Password, networkValidater, redialer, null))); }
public override void SetRedialManager(INetworkValidater networkValidater, IRedialer redialer) { NetworkProxyManager.Current.Register(new RedialExecutor(new FileLockerRedialManager(networkValidater, redialer))); }
public abstract void SetRedialManager(INetworkValidater networkValidater, IRedialer redialer);