Giter VIP home page Giter VIP logo

mq-jobcontrol's Introduction

mq-jobcontrol

Component for interactions with Monique via interface.

Назначение

Компонент jobcontrol предоставляет пользователю возможность отправлять в Monique сообщения и проверять, что система будет их корректно обрабатывать.

Взаимодействие с пользователем на данный момент происходит посредством терминала.

Конфигурация

Jobcontrol является компонентом Monique, общающимся с самой очередью исключительно через "одно место" (Scheduler). В силу этого в config.json указываются параметры только для "одного места".

Все остальные поля являются стандартными как для любого другого компонента системы.

Сборка и запуск

Сборка производится с помощью инструмента stack:

stack build

Запуск компонента производится командой

stack exec mq-jobcontrol

Использование

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

Пользователю доступны три команды:

  • run позволяет отправить сообщение в очередь;
  • help run позволяет посмотреть, какие аргументы принимает на вход команда run;
  • help выводит список всех доступных команд с их описанием.

run

Команда run принимает четыре аргумента в следующем порядке:

  • spec отправляемого сообщения;
  • тип отправляемого сообщения: config, result, data или error;
  • тип кодировки содержимого поля data отправляемого сообщения: JSON или MessagePack;
  • путь до файла, содержащего в соответствующем формате информацию, которая будет отправлена в поле data.

Логика работы

После того, как пользователь запустил команду run, из переданных в неё аргументов формируется сообщение и отправляется в очередь.

Компонент jobcontrol подписывается на любые сообщения из очереди, в поле pid которых будет стоять id, сгенерироанный для отправленного сообщения.

Если полученное таким образом сообщение в свою очередь порождает другие сообщения, то jobcontrol подписывается и на такие сообщения тоже.

Примеры

Ниже приведены команды для запуска стандартных примеров для компонентов.

Считается, что к этому моменту запущено "одно место" а также те компоненты, которые мы хотим протестировать.

Пример "калькулятор"

Запустить задачу для калькулятора можно следующей командой из терминала jobcontrol:

run example_calculator config JSON test/calculator.json

Пример "банк"

Запустить задачу для банка можно следующей командой из терминала jobcontrol:

run example_bank config JSON test/bank.json

mq-jobcontrol's People

Contributors

alexkanerus avatar ozzzzz avatar realkazan avatar

Watchers

 avatar  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.