|
|
@ -2627,6 +2627,32 @@ used.
|
|
|
|
- API notification using curl, authentication using HTTP Basic Auth
|
|
|
|
- API notification using curl, authentication using HTTP Basic Auth
|
|
|
|
- asynchronous resending progress messages
|
|
|
|
- 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
|
|
|
|
## Fileserver
|
|
|
|
|
|
|
|
|
|
|
|
The fileserver component provides a shared file storage between the frontend and
|
|
|
|
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
|
|
|
|
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:
|
|
|
|
versions are 3.4 and 3.5. Following dependencies are used:
|
|
|
|
|
|
|
|
|
|
|
|
- zmq -- binding to ZeroMQ message framework
|
|
|
|
- **zmq** -- binding to ZeroMQ message framework
|
|
|
|
- websockets -- framework for communication over WebSockets
|
|
|
|
- **websockets** -- framework for communication over WebSockets
|
|
|
|
- asyncio -- library for fast asynchronous operations
|
|
|
|
- **asyncio** -- library for fast asynchronous operations
|
|
|
|
- pyyaml -- parsing YAML configuration files
|
|
|
|
- **pyyaml** -- parsing YAML configuration files
|
|
|
|
|
|
|
|
|
|
|
|
There is just one monitor instance required per broker. Also, monitor has to be
|
|
|
|
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
|
|
|
|
publicly visible (has to have public IP address or be behind public proxy
|
|
|
|