Необходимо разработать Telegram-бота, который будет парсить значения с сайта и отправлять уведомления, если определенное количество значений подряд было ниже заданного порога. Должна быть возможность настройки количества значений и порога. Убедитесь в возможности выполнения задачи перед откликом, так как предыдущие попытки не увенчались успехом.
Чекер генерируемых запросов на Golang
Язык программирования: Golang
Интерфейс: консоль
Платформа: Windows, Linux, Docker
Необходимо реализовать чекер генерируемых запросов, проверка которых должна осуществляться с помощью GET-запроса, используя список прокси адресов.
Генерация запросов должна осуществляться с помощью горутин, количество которых задается при запуске программы через файл-конфиг. Генерация горутин функций должна осуществляться в бесконечном цикле for {}, ограничивая кол-во горутин с помощью механизма очередей(кол-во в очереди по кол-ву горутин из конфиг файла).
В качестве целевой функции генерации можно использовать функцию генерации случайного числа.
Проверка запроса через произвольный сетевой ресурс осуществляется (тоже в горутине) в виде GET запроса с ответом в формате json.
Реализовать проверку с произвольным json файлом с полем "result": "success(или failed)".
Сетевые запросы необходимо осуществлять с помощью списка прокси адресов, подгружаемых по указанному url в конфиге.
Реализовать автоматическую смену (для осуществления запроса) и удаление нерабочего прокси адреса из пула загруженных адресов.
Обновление списка прокси серверов должно проводиться на горячую для всех запускаемых горутин (возможно, целесообразно использовать указатель на список адресов).
Реализовать модуль оповещения в случае успешной проверки в виде оповещения через Telegram бота.
Успешные срабатывания необходимо дублировать в отдельный файл success.txt с содержимым запроса(результат функции) и ответом с сервера(ответ GET запроса).
В консоли должна отображаться статистика о количестве генерируемых запросов и сетевых проверок + средние показатели по этим параметрам.
Вывод данной информации и возможные ошибки необходимо записывать в суточные лог файлы.
Программа должна пробовать автоматически перезапускаться при появляющейся ошибке 3 раза, иначе оставить программу запущенной со статусом "error" и включенным сетевым REST-интерфейсом (см. ниже).
В программе необходимо сохранять статистику (загружать при запуске программы):
- количество успешных срабатываний с момента запуска
- последняя скорость генерации целевой функции и сетевых запросов (кол-во/сек)
- средняя скорость скорость генерации целевой функции и сетевых запросов (кол-во/сек)
Файл конфигурации должен включать в себя:
- запуск парсера при старте (on, off)
- кол-во запускаемых горутин
- целевая ссылка на ресурс для проверки сгенерированных результатов целевой функции
- url-адрес на список прокси серверов
- id чата для телеграм бота
- token телеграм бота
- порт для REST интерфейса
Также необходимо реализовать возможность изменять параметры через REST сервер (любой фреймворк, можно echo):
/status - GET/POST (отображать/задавать(останавливать и запускать) статус программы: enabled, stopped, error)
/thread_count - GET/POST (количество запускаемых горутин)
/proxy_list_url - GET/POST (url-адрес на список прокси)
/proxy_list - GET/POST (получить/задать/обновить список прокси адресов)
/check_url - GET/POST (url-адрес для проверки с использованием прокси)
/telegram_id - GET/POST (id телеграм чата для отчета)
/telegram_token - GET/POST (токен телеграм бота)
/logs - GET (вернуть файл-отчет за последние сутки)
/stats - GET (вывести статистику по скорости генерации запросов и сетевых проверок за секунду + среднюю статистику по этим показателям + количество успешных срабатываний)
/stats_clear - POST (очистка сохраняемой статистики)
Исходный код должен быть подробно закомментирован для последующего разбора и доработки.
Заявки фрилансеров
Похожие заказы
- $16Прикладное ПО1 исполнительЗавершен2 года назад
- $100
Требуется создать телеграм бота на языке Python согласно предоставленному техническому заданию. Задача включает в себя разработку функционала согласно ТЗ. Ожидается понимание работы с API Telegram и опыт в программировании на Python.
Прикладное ПО8 заявокЗакрыт2 года назад Требуется реализация представления Indicators_BI для прикладного ПО. Подробности и требования указаны в техническом задании. Ознакомьтесь с ТЗ для успешного выполнения задачи.
Прикладное ПО1 заявкаЗакрыт2 года назадНеобхідно реалізувати дві програми на C++ у середовищі Visual Studio. Перша програма має виконувати алгоритм обходу графа на основі пошуку в глибину, а друга - алгоритм обходу графа на основі пошуку в ширину. Завдання 7 варіанту.
Прикладное ПО2 заявкиЗакрыт2 года назад- $5
Создайте учебную математическую программу на C++ в среде Builder Embarcadero 6, 10 или 11. Задача заключается в решении функции методом наименьших квадратов, с возможностью изменения значений в таблице. График не требуется. Подробности обсуждаются индивидуально.
Прикладное ПО2 заявкиЗакрыт2 года назад - $40
Требуется запустить проект в Visual Studio с использованием GIT и исправить возникающие ошибки для его корректной работы. Бюджет составляет 40$, срок выполнения - сегодня. Оплата производится по факту готовности без авансов.
Прикладное ПО4 заявкиЗакрыт2 года назад Требуется разработать Telegram-бота на JavaScript, основываясь на исходниках существующего бота. Необходимо также создать web-панель управления (админку), используя готовые решения. Подробное техническое задание будет предоставлено позже.
Прикладное ПО3 заявкиЗакрыт2 года назад- $300
Требуется разработать прикладное программное обеспечение для Windows в формате .EXE. Срок выполнения - 4 дня. Подробное техническое задание будет предоставлено. Ожидается, что разработчик сможет ответить на все возникшие вопросы.
Прикладное ПО1 исполнительЗавершен2 года назад Необхідно реалізувати автоматичну побудову двох фракталів: дерева Піфагора та острова Міньковського, використовуючи вже створений графічний інтерфейс у Фігмі. Проект має підтримувати різну кількість ітерацій та кольори ліній. Будь-яка мова програмування, перевага надається js.
Прикладное ПО1 исполнительЗакрыт2 года назадНеобходимо разработать код на Python для методов обучения рекуррентной нейронной сети, использующий популяционные алгоритмы для распознавания. Также требуется аналогичный код для радиально-базисной нейронной сети. Обсуждение стоимости и сроков выполнения возможно.
Прикладное ПО2 заявкиЗакрыт2 года назад