Тут не нужна нейросеть. Проходишь по кругу и потом перегон градусов в время. Я уже выкладывал регер тутанота на запросах.
Обмен данными между двумя ботами на разных vds серверах
-
Подскажите как лучше и правильней реализовать обмен данными между двумя ботами на разных vds серверах. Необходимо для решения капч Яндекс. 1 бот в случае обнаружения капчи передаёт необходимые данные 2-му боту который решает капчу и возвращает результат. Яндекс капчу не удаётся решить на запросах потому как не могу получить параметр rdata и приходится задействовать браузер что влечёт нагрузку на сервер.
Пока развернул ftp сервер, но постоянные ошибки не радуют…
-
- есть сервис API, который принимает данные каптчи и должен возвращать ответ.
- есть message broker, в который пишет задачи этот сервис API и к которому подключаются распознавалки (любое кол-во)
- распознавалка после выполнения работы отправляет результат в сервис API или в очередь сообщений. Тут логика будет зависеть от выбранного брокера.
- отправитель данных каптчи периодически опрашивает сервис API распознана ли каптча
Ссылки по теме:
- https://www.cloudamqp.com/blog/rabbitmq-use-cases-explaining-message-queues-and-when-to-use-them.html
- https://www.rabbitmq.com/
- https://en.wikipedia.org/wiki/Message_broker
Несмотря на то, что архитектура может показаться "слишком". Преимущество ее в том, что она будет работать для любых подобных задач. А при наличии отлаженного механизма, решение n-ой подобной задачи не составит проблем.
Если я бы делал, я бы выбрал:
- сервис API, https://fastapi.tiangolo.com/ (python)
- https://www.rabbitmq.com/
-
@HustleMan said in Обмен данными между двумя ботами на разных vds серверах:
Яндекс капчу не удаётся решить на запрос
Все просто. Человеческим языком бот, который отсылает, фиксирует, что отправил и каждые n секунд в цикле делает запрос к другому серверу типо "ты уже решил?". А сервер отвечает: 1) "Да, решил", 2) "Еще не решил".
Проблема - заключается в том, что нужно общее промежуточное место для двух серваков, где они фиксируют своё состояние. Как пример:- Сервер отсылальщик
- Сервер приниматель каптчи
- Сервер для базы данных, куда имеют доступ оба сервака. Именно тут фиксируется состояние каптчи. Например, можно взять Mysql базу, поднять ее на xamp и сделать 2 поля в таблице: id, ready. Первый сервак заносит задание в базу и получает уникальный айди, второй сервак чекает, какие задания свободны и берет их, а как решит в поле ready установит true. Первый сервак переодически чекает ready и если есть true, то продолжает работу.
Короче, на самом деле, звучит сложно, но на деле - это легко
-
@DoctorKrolic said in Обмен данными между двумя ботами на разных vds серверах:
@olegtut Можно ещё проще - двунаправленное соединение на вебсокетах поднять. Я на 100% уверен, что для такого есть готовые модули/библиотеки
Еще можно дать двусторонний доступ к файлам и в них фиксировать результат. Да вариантов множество, на самом деле