Hi, It is really cool! :-)
On Wed, 13 Sep 2023 at 23:08, Ludovic Courtès <l...@gnu.org> wrote: > - The "builder" spawns derivation builds. There are currently two > implementations: the local builder sends build requests to the local > 'guix-daemon' process, while the remote build delegates builds to > 'cuirass remote-server'. [...] > With this actor split, one could implement another “builder” backend, > for instance one that talks to a Build Coordinator process. IIUC, the current two “builder” backend are: + local ’guix-daemon’: the queue of derivations is processed using one strategy – the one implemented in C++, + ’cuirass remote-server’: the queue of derivations is processed using another strategy – implemented in Guile relying on ZeroMQ (something like steal of work, if I remember correctly). Is it correct? The Build Coordinator also implements the other actors “channel updater”, “evaluator”, etc., right? From my rough understanding, the first aim of Build Coordinator is the implementation of the “builder”. Is it correct? My two questions are: 1. Is the Build Coordinator able to only process the queue of derivations? (being a “builder” backend). And if yes, what is its strategy for processing? 2. In this picture of actor model, would it make sense (or would it be possible) to replace the “builder” actor from the Cuirass one to the Build Coordinator one? Cheers, simon