zuul/zuul/merger
James E. Blair a729d6c6e8 Refactor Merger/Executor API
The Merger and executor APIs have a lot in common, but they behave
slightly differently.  A merger needs to sometimes return results.
An executor needs to have separate queues for zones and be able to
pause or cancel jobs.

This refactors them both into a common class which can handle job
state changes (like pause/cancel) and return results if requested.

The MergerApi can subclass this fairly trivially.

The ExecutorApi adds an intermediate layer which uses a
DefaultKeyDict to maintain a distinct queue for every zone and then
transparently dispatches method calls to the queue object for
that zone.

The ZK paths for both are significantly altered in this change.

Change-Id: I3adedcc4ea293e43070ba6ef0fe29e7889a0b502
2021-08-06 15:40:46 -07:00
..
__init__.py Split the merger into a separate process 2014-02-17 11:47:15 -08:00
client.py Refactor Merger/Executor API 2021-08-06 15:40:46 -07:00
merger.py Switch to ZooKeeper backed merge result events 2021-06-29 14:37:15 -07:00
server.py Refactor Merger/Executor API 2021-08-06 15:40:46 -07:00