Асинхронное распознавание каптчи

  • Автор темы Автор темы 7make
  • Дата начала Дата начала

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Реакции
1 312
Баллы
113
Если первым действием отправляем каптчу на распознавание и далее начинаем заполнять поля формы, теряем 10-20с на ожидание ответа распознавания.
Предлагаю сделать этот момент асинхронным, не дожидаясь ответа, выполнять проект далее, а когда дошли до шага ввода ответа каптчи проверять ответ.
Если еще не получили ответ распознавания, то чекать его каждые 3-5с.
 
Пришла идея как это иначе можно сделать:
- Создаётся метка у нужного шага "async start" которая отмечает что данный шаг нужно выполнять асинхронно (как например сейчас ставится "Точка остановки" или "Необязательное действие")
- Создаётся метка у второго шага, который идёт после первого через некоторое количество других шагов, название метки "async stop"
- Шаблон начинает выполнять шаг с меткой "async start" и сразу после начала выполнения не дожидаясь идёт далее, ровно до шага с меткой "async stop", как только шаг с первой меткой выполнен - шаблон начинает выполнять работу далее начиная с метки "async stop"

Так мы получаем возможность использовать асинхронность везде где нужно, например при переходах по ссылкам, при кликах, при выполнении тяжёлого C# кода и ещё где угодно

В таком случае остаётся продумать вариант что делать если шаг асинхронный неудачно вышел, тогда наверное третюю ветку создать у шага - неудачный асинхронный выход (по мимо обычного неудачного выхода)
 
Лучше оба варианта.
Каптча просто больше всего времени отнимает. Эту фичу проще и быстрее под нее конкретно выкатить.
Твой подход уже глобальный и его для всех возможных кубиков реализовать.
 
  • Спасибо
Реакции: Ribas
без проблем )
но небесплатно
любые второстепенные процессы (за исключением тех что блокирируются зп):
разгадываение капч, формы, внешние процессы, мониторинг дома, периодический капчасейвер...
 
Последнее редактирование:
Добавил инфу в IdeaCollector.
В ближайшее время не планируется, там достаточно много работы.
 
record_21_45_06_17_07_2015_1.gif

точно так же можно сделать с капчей, если интересно сделаю видео и для нее.
 
Последнее редактирование:
Пришла идея как это иначе можно сделать:
- Создаётся метка у нужного шага "async start" которая отмечает что данный шаг нужно выполнять асинхронно (как например сейчас ставится "Точка остановки" или "Необязательное действие")
- Создаётся метка у второго шага, который идёт после первого через некоторое количество других шагов, название метки "async stop"
- Шаблон начинает выполнять шаг с меткой "async start" и сразу после начала выполнения не дожидаясь идёт далее, ровно до шага с меткой "async stop", как только шаг с первой меткой выполнен - шаблон начинает выполнять работу далее начиная с метки "async stop"

Так мы получаем возможность использовать асинхронность везде где нужно, например при переходах по ссылкам, при кликах, при выполнении тяжёлого C# кода и ещё где угодно

В таком случае остаётся продумать вариант что делать если шаг асинхронный неудачно вышел, тогда наверное третюю ветку создать у шага - неудачный асинхронный выход (по мимо обычного неудачного выхода)
Полностью поддерживаю идею. Так мы сможем в разы ускорить многие шаблоны.
Например, есть сайт, проверяющий ip по своим базам. И после Post запроса, когда страница будет загружена, сайт отправляет 70 с лишним Get-запросов на другие сайты, каждый из которых чекает ip у себя и возвращает результат. Если делать без инстанса, то все эти 70 Get-ов приходится отправлять друг за другом, а хотелось бы асинхронно, иначе с инстансом быстрее работает, чем на запросах.
 
tryddx, это и капчи уже можно делать уже давно, нужно только подумать хорошо.
читайте мою конкурсную статью
 
  • Спасибо
Реакции: Санёк и shtift

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