Skip to content
/ worker Public

Backend part of ReCodEx programmer testing solution used for evaluation.

License

Notifications You must be signed in to change notification settings

ReCodEx/worker

Repository files navigation

Worker

Linux Build Status Windows Build Status codecov License Docs Wiki GitHub release COPR

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

Installation

COPR Installation

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

Manual Installation

Dependencies

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, or libboost-all-dev on Debian/Ubuntu)
  • ZeroMQ in version at least 4.0, packages zeromq and zeromq-devel (libzmq3-dev on Debian)
  • YAML-CPP library, yaml-cpp and yaml-cpp-devel (libyaml-cpp0.5v5 and libyaml-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