public void LaunchConstitutionTasksProccesing(object obj) { var t = new ConstitutionTaskDataService(_storage); var data = t.GetInProgressTasks(); _logger.Info($"Initialize tasks processing -> available {data.Length} task(s)..."); foreach (var u in data) { var a = _ps.GetAvailibleAdress(); if (a != null) { _cController = new ConstitutionController(u, a, _logger, _recaptcha, this._settings, this._settings.SedeScripts); _cController.SolveStepsAsync(); } } }
public void LaunchTasksProccesing(object obj) { var tls = new TasksDataService(_storage); var data = tls.GetInProgressTasks(); _logger.Info($"Initialize tasks processing -> available {data.Length} task(s)..."); foreach (var u in data) { var a = _ps.GetAvailibleAdress(); if (a != null) { switch (u.ProcedureRegion) { case "Illes Balears": _controller = new IllesBalearsController(u, a, _logger, _recaptcha, this._settings); break; case "Madrid": _controller = new MadridController(u, a, _logger, _recaptcha, this._settings); break; case "Alicante": _controller = new AlicanteController(u, a, _logger, _recaptcha, this._settings); break; case "Barcelona": _controller = new BarcelonaController(u, a, _logger, _recaptcha, this._settings); break; case "Murcia": _controller = new MurciaController(u, a, _logger, _recaptcha, this._settings); break; case "Girona": _controller = new GironaController(u, a, _logger, _recaptcha, this._settings); break; default: _controller = null; break; } if (!ReferenceEquals(_controller, null)) { _logger.Info("Controller has been initialized -> Launch task..."); _controller.OnStepsControllerMailCallback += ControllerMailerCallback; _controller.OnStepsControllerCitaStatusCallback += CitaStatusCallback; _controller.SolveStepsAsync(); } } else { _logger.Warning( "Sorry, but we cant't launch chrome now, we need more proxy servers to correct work, try again later"); } } var rand = new Random(); var randTime = rand.Next(this._settings.TaskProccesingMinDueTimeout * 1000, this._settings.TaskProccesingMaxTimeout * 1000); _processTasksTimer.Change(randTime, randTime); }