Code Monkey home page Code Monkey logo

qtask's Introduction

QTask

Таск-менеджер позволяющий отправлять HTTP, сокет запросы через указанный промежуток времени.

Основная часть проекта.

Реализует прослушивание сокета, добавление задачи, сериализацию/десериализацию,
отправку данных, ведение статистики.

-------------------------------------------------------------------------------
Суть проекта: реализация процесса работающего в фоне (демона), который будет
получать данные с сокета и по указанным параметрам и настройкам отправлять
запрос в http/сокет/канал. Данные имеют структуру:
    data: dict (словарь с данными. Формат:
        dict['title'] - название задачи
        dict['address'] - вложенный словарь с настройками подключения
            dict['address']['type'] - тип подключения (http/socket)
            dict['address']['link'] - адрес подключения.
                При type = http, link должен начинаться с http/https.
                При type = socket, link должен быть в формате сокеты
                    (0.0.0.0:5000).
                При type = pipe, link должен быть равен названию канала.
                При type = __graph__ не требуется дополнительных параметров.
                    Этот запрос создаст график времени выполнения запроса.
        dict['settings'] - данные запроса
            dict['settings']['time'] - время, через которое будет отправлен
                запрос.
            dict['settings']['data'] - данные для отправки. Будут
                сериализовываться.
                dict['settings']['data']['headers'] - не обязательный
                    параметр для заголовка запроса при type = http. При
                    указании auto, подберёт случайный headers.
                dict['settings']['data']['method'] - не обязательный
                    параметр для указания метода при http запросе. По умолчанию
                    GET.
                dict['settings']['data']['data'] - хранит данные отправляемые в
                    канал (pipe), при method=pipe.
По этим данным будет создаваться задача (Task) и через указанный промежуток
времени будет отправляться запрос (на сокет или HTTP или канал). Мониторинг
задач выполняется многопоточным менеджером.
Проект позволит автоматизироваться отложенную отправку запросов и не нагружать
код и систему разрабатываемого проекта. Не имеет дополнительных зависимостей.

Использованные технологии:



Прежде всего:

Установите Python (если он не установлен)
Скачать Python3


Клонируйте репозиторий и перейдите в установленную директорию:

git clone https://github.com/Ryize/QTask.git
cd QTask

Установите requirements:

pip3 install -r requirements.txt

Запустите проект:

python3 server.py

Технологии, использованные в проекте: Python 3, requests, socket, Matplotlib

qtask's People

Contributors

ryize avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.