Ищу решение на C#

jaowoo

Client
Регистрация
09.07.2020
Сообщения
39
Благодарностей
10
Баллы
8
Привет всем!
Ищу платную помощь по такому вопросу. Нашел подходящие для моих задач прокси, но они достаточно нестабильные. В случайные промежутки времени, от нескольких минут до часов коннект к проксям теряется на несколько (десятков) секунд, после восстановления шаблон перестает работать корректно.

Подскажите пожалуйста, кто в теме, как побороть эту проблему? Пока что я додумался до такого решения. В ключевых местах шаблона (в 10-15 точках) поставить проверку на потерю соединения. Если связь потеряна, в течении минуты пытаемся восстановиться, после чего продолжаем работу шаблона с нового цикла.

Хотелось бы какое-то более элегантное решение. Возможно ли добавить некую оболочку на C#, которая каждые ХХ сек будет приостанавливать работу шаблона, проверять коннект и если все ОК, тогда продолжать работу с прерванного места?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
не проще сделать счетчик повтора группы действий и при ошибке выводить на него. ну а когда счетчик протухнет, тогда и менять/чекать или что там еще можно с ними делать ?
 
  • Спасибо
Реакции: jaowoo

THE CaHeK

Client
Регистрация
29.01.2016
Сообщения
293
Благодарностей
115
Баллы
43
Привет всем!
Ищу платную помощь по такому вопросу. Нашел подходящие для моих задач прокси, но они достаточно нестабильные. В случайные промежутки времени, от нескольких минут до часов коннект к проксям теряется на несколько (десятков) секунд, после восстановления шаблон перестает работать корректно.

Подскажите пожалуйста, кто в теме, как побороть эту проблему? Пока что я додумался до такого решения. В ключевых местах шаблона (в 10-15 точках) поставить проверку на потерю соединения. Если связь потеряна, в течении минуты пытаемся восстановиться, после чего продолжаем работу шаблона с нового цикла.

Хотелось бы какое-то более элегантное решение. Возможно ли добавить некую оболочку на C#, которая каждые ХХ сек будет приостанавливать работу шаблона, проверять коннект и если все ОК, тогда продолжать работу с прерванного места?
Я бы сделал фиксацию состояния, допустим выполняем мы действие, тут произошла ошибка прокси, в базе этому аккаунту присваиваем статус/текущий процесс на котором прервалась работа и завершаем работу потока. Что бы следующий раз, когда этот прокси заработает, шаблон начинал работу именно с того места/процесса , на котором прервалось.
Логику можно додумать, в соответствии с вашим шаблоном. У меня была подобная проблема, и было невозможно зарегистрировать аккаунт и сделать с ним определенные манипуляции за 1 заход.
 
Последнее редактирование:
  • Спасибо
Реакции: Oleg1987 и jaowoo

todayer

Client
Регистрация
07.08.2013
Сообщения
940
Благодарностей
391
Баллы
63
В ключевых местах шаблона (в 10-15 точках) поставить проверку на потерю соединения. Если связь потеряна
Если шаблон на кубиках, то у многих действий есть зеленый выход и красный. На красных сделайте повторы с паузами со счетчиком. Это стандартные и простые решения. Ну и логов побольше.
 
  • Спасибо
Реакции: jaowoo

sanya

Client
Регистрация
08.09.2015
Сообщения
184
Благодарностей
49
Баллы
28
Я бы сделал фиксацию состояния, допустим выполняем мы действие, тут произошла ошибка прокси, в базе этому аккаунту присваиваем статус/текущий процесс на котором прервалась работа. Что бы следующий раз, когда этот прокси заработает, шаблон начинал работу именно с того места/процесса , на котором прервалось и завершаем работу потока.
Логику можно додумать, в соответствии с вашим шаблоном. У меня была подобная проблема, и было невозможно зарегистрировать аккаунт и сделать с ним определенные манипуляции за 1 заход.
а можете показать момент, как запустить с места ошибки, я думаю не только мне интересно
 
Регистрация
26.10.2020
Сообщения
51
Благодарностей
9
Баллы
8

THE CaHeK

Client
Регистрация
29.01.2016
Сообщения
293
Благодарностей
115
Баллы
43
а можете показать момент, как запустить с места ошибки, я думаю не только мне интересно
Там ничего сложного нету, просто перед выполнением каждого этапа в переменную записывается и перезаписывается этот шаг, в случае ошибки, bad_end записывает в базу этап который не выполнили. Проект при старте, выполняет стандартные действия, например - проходит авторизацию, затем проверяет куда ему идти(можно сделать через switch).
 
  • Спасибо
Реакции: jaowoo

jaowoo

Client
Регистрация
09.07.2020
Сообщения
39
Благодарностей
10
Баллы
8
Спасибо всем за ответы!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)