Broker dependencies

master
Petr Stefan 8 years ago
parent 7dcc08e1d6
commit 54bffca2e1

@ -2627,6 +2627,32 @@ used.
- API notification using curl, authentication using HTTP Basic Auth
- asynchronous resending progress messages
### Additional libraries
Broker implementation depends on several open-source C and C++ libraries.
- **libcurl** -- Libcurl is used for notifying REST API on job finish event over
HTTP protocol. Due to lack of documentation of all C++ bindings the plain C
API is used.
- **cppzmq** -- Cppzmq is a simple C++ wrapper for core ZeroMQ C API. It
basicaly contains only one header file, but its API fits into borker's object
architecture.
- **spdlog** -- Spdlog is small, fast and modern logging library used for system
logging. It is highly customizable and configurable from broker's
configuration.
- **yaml-cpp** -- Yaml-cpp is used for parsing borker configuration text file in
YAML format.
- **boost-filesystem** -- Boost filesystem is used for managing logging
directory (create if necessary) and parsing filesystem paths from strings as
written in broker's configuration. Filesystem operations will be included in
future releases of C++ standard, so this dependency may be removed in the
future.
- **boost-program_options** -- Boost program options is used for
parsing of command line positional arguments. It is possible to use POSIX
`getopt` C function, but we decided to use boost, which provides nicer API and
is already used by worker component.
## Fileserver
The fileserver component provides a shared file storage between the frontend and
@ -2862,10 +2888,10 @@ Monitor is an optional part of the ReCodEx solution for reporting progress of
job evaluation back to users in the real time. It is written in Python, tested
versions are 3.4 and 3.5. Following dependencies are used:
- zmq -- binding to ZeroMQ message framework
- websockets -- framework for communication over WebSockets
- asyncio -- library for fast asynchronous operations
- pyyaml -- parsing YAML configuration files
- **zmq** -- binding to ZeroMQ message framework
- **websockets** -- framework for communication over WebSockets
- **asyncio** -- library for fast asynchronous operations
- **pyyaml** -- parsing YAML configuration files
There is just one monitor instance required per broker. Also, monitor has to be
publicly visible (has to have public IP address or be behind public proxy

Loading…
Cancel
Save