Backend design¶
Backend consists of the multiple process and a few utility scripts.
The main process CoprBackend is started by /usr/bin/copr_be.py script.
Default backend configuration is stored in /etc/copr/copr-be.conf. Running redis server are required.
- CoprBackend process starts the following components at the init:
Centralised logging:
RedisLogHandlerlistens for the redis pubsub for log eventsCoprJobGrabpolling pending builds and actions from the copr frontend.Builds are routed to the appropriate task queue and action are executed by CoprJobGrab itself.
- VM management is controlled by
VmMaster. See :ref:VmManagement: for details about Vm handling.
- VM management is controlled by
After spawning aux processes CoprBackend dynamically spawns and terminates worker processes Worker.