The job of the worker is to securely execute a job according to its configuration and upload results back for later processing. After receiving an evaluation request, a worker has to do the following:
- download the archive containing the submitted source files and configuration file
- download any supplementary files based on the configuration file, such as test
inputs or helper programs (this is done on demand, using a
fetch
command in the assignment configuration) - evaluate the submission according to the job configuration
- during evaluation progress messages can be sent back to the broker
- upload the results of the evaluation to the fileserver
- notify the broker that the evaluation finished
Follows the description for RHEL-like systems which will do all steps as described in Manual Installation.
# dnf install dnf-plugin-copr
# dnf copr enable semai/ReCodEx
# dnf install recodex-worker
Worker-specific requirements are written in this section. It covers only basic requirements, additional runtimes or tools may be needed depending on type of use. The package names are for CentOS if not specified otherwise.
- Boost 1.74 development libs or newer (
boost-devel
package, orlibboost-all-dev
on Debian/Ubuntu) - ZeroMQ in version at least 4.0, packages
zeromq
andzeromq-devel
(libzmq3-dev
on Debian) - YAML-CPP library,
yaml-cpp
andyaml-cpp-devel
(libyaml-cpp0.5v5
andlibyaml-cpp-dev
on Debian) - libcurl library
libcurl-devel
(libcurl4-gnutls-dev
on Debian) - libarchive library as optional dependency. Installing will speed up build process, otherwise libarchive is built from source during instal