Язык программирования: 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 (очистка сохраняемой статистики)

Исходный код должен быть подробно закомментирован для последующего разбора и доработки.

2 года назад
ZedCode
Илья 
27 лет
6 лет в сервисе
Был
2 года назад

Заявки фрилансеров

Николай
 
24 года
2 года в сервисе
Был
2 года назад
2 года назад
  • Похожие заказы

  • $16

    Необходимо разработать Telegram-бота, который будет парсить значения с сайта и отправлять уведомления, если определенное количество значений подряд было ниже заданного порога. Должна быть возможность настройки количества значений и порога. Убедитесь в возможности выполнения задачи перед откликом, так как предыдущие попытки не увенчались успехом.

    Прикладное ПО1 исполнитель
    Завершен
    2 года назад
  • $100

    Требуется создать телеграм бота на языке Python согласно предоставленному техническому заданию. Задача включает в себя разработку функционала согласно ТЗ. Ожидается понимание работы с API Telegram и опыт в программировании на Python.

    Закрыт
    2 года назад
  • Требуется реализация представления Indicators_BI для прикладного ПО. Подробности и требования указаны в техническом задании. Ознакомьтесь с ТЗ для успешного выполнения задачи.

    Закрыт
    2 года назад
  • Необхідно реалізувати дві програми на C++ у середовищі Visual Studio. Перша програма має виконувати алгоритм обходу графа на основі пошуку в глибину, а друга - алгоритм обходу графа на основі пошуку в ширину. Завдання 7 варіанту.

    Закрыт
    2 года назад
  • $5

    Создайте учебную математическую программу на C++ в среде Builder Embarcadero 6, 10 или 11. Задача заключается в решении функции методом наименьших квадратов, с возможностью изменения значений в таблице. График не требуется. Подробности обсуждаются индивидуально.

    Закрыт
    2 года назад
  • $40

    Требуется запустить проект в Visual Studio с использованием GIT и исправить возникающие ошибки для его корректной работы. Бюджет составляет 40$, срок выполнения - сегодня. Оплата производится по факту готовности без авансов.

    Закрыт
    2 года назад
  • Требуется разработать Telegram-бота на JavaScript, основываясь на исходниках существующего бота. Необходимо также создать web-панель управления (админку), используя готовые решения. Подробное техническое задание будет предоставлено позже.

    Закрыт
    2 года назад
  • $300

    Требуется разработать прикладное программное обеспечение для Windows в формате .EXE. Срок выполнения - 4 дня. Подробное техническое задание будет предоставлено. Ожидается, что разработчик сможет ответить на все возникшие вопросы.

    Прикладное ПО1 исполнитель
    Завершен
    2 года назад
  • Необхідно реалізувати автоматичну побудову двох фракталів: дерева Піфагора та острова Міньковського, використовуючи вже створений графічний інтерфейс у Фігмі. Проект має підтримувати різну кількість ітерацій та кольори ліній. Будь-яка мова програмування, перевага надається js.

    Прикладное ПО1 исполнитель
    Закрыт
    2 года назад
  • Необходимо разработать код на Python для методов обучения рекуррентной нейронной сети, использующий популяционные алгоритмы для распознавания. Также требуется аналогичный код для радиально-базисной нейронной сети. Обсуждение стоимости и сроков выполнения возможно.

    Закрыт
    2 года назад