コード例 #1
0
        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();
                }
            }
        }
コード例 #2
0
        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);
        }