|
|
@ -2829,7 +2829,32 @@ comply most of possible use cases.
|
|
|
|
|
|
|
|
|
|
|
|
### Additional libraries
|
|
|
|
### Additional libraries
|
|
|
|
|
|
|
|
|
|
|
|
@todo: libcurl, spdlog, boost, yaml-cpp, libarchive, cppzmq
|
|
|
|
Worker implementation depends on several open-source C and C++ libraries. All of
|
|
|
|
|
|
|
|
them are multi-platform, so both Linux and Windows builds are possible.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **libcurl** -- Libcurl is used for all HTTP communication, that is downloading
|
|
|
|
|
|
|
|
and uploading files. Due to lack of documentation of all C++ bindings the
|
|
|
|
|
|
|
|
plain C API is used.
|
|
|
|
|
|
|
|
- **libarchive** -- Libarchive is ised for compressing and extracting archives.
|
|
|
|
|
|
|
|
Actual supported formats depends on installed packages on target system, but
|
|
|
|
|
|
|
|
at least ZIP and TAR.GZ should be available.
|
|
|
|
|
|
|
|
- **cppzmq** -- Cppzmq is a simple C++ wrapper for core ZeroMQ C API. It
|
|
|
|
|
|
|
|
basicaly contains only one header file, but its API fits into worker's object
|
|
|
|
|
|
|
|
architecture.
|
|
|
|
|
|
|
|
- **spdlog** -- Spdlog is small, fast and modern logging library. It is used for
|
|
|
|
|
|
|
|
all of the logging, both system and job logs. It is highly customizable and
|
|
|
|
|
|
|
|
configurable from worker's configuration.
|
|
|
|
|
|
|
|
- **yaml-cpp** -- Yaml-cpp is used for parsing and creating text files in YAML
|
|
|
|
|
|
|
|
format. That includes worker's configuration, job's configuration and job's
|
|
|
|
|
|
|
|
results.
|
|
|
|
|
|
|
|
- **boost-filesystem** -- Boost filesystem is used for multi-platform
|
|
|
|
|
|
|
|
manipulation with files and directories. However, these 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 multi-platform
|
|
|
|
|
|
|
|
parsing of command line positional arguments. It is not necessary to use it,
|
|
|
|
|
|
|
|
similar functionality can be implemented be ourselves, but this well known
|
|
|
|
|
|
|
|
library is effortless to use.
|
|
|
|
|
|
|
|
|
|
|
|
## Monitor
|
|
|
|
## Monitor
|
|
|
|
|
|
|
|
|
|
|
|