- Sep 07, 2021
-
-
Daniel Lyons authored
This is two lines of thought combined into one merge: 1. AMQP clients should either receive messages or send messages 2. Capability queues are based on a database-backed queue manager rather than keeping state in-memory Most of the work relating to the first idea comes in refactoring the Router to not be a message sender. Many places in the code now either instantiate a MessageSender instead, or use both a Router and a MessageSender if they truly needed both functionalities. The previous implementation appears to have caused messages to arrive out of order because facilities like `wf_monitor` that only send messages were also trying to receive messages, and either not handling them at all or putting them into a buffer of some kind to be dropped on the floor when the process ended. The work relating to the second idea changes the way that steps are processed in the capability service and eliminates the capability engine concept. Now when PrepareAndRunWorkflow steps are reached, the capability is simply moved into the Waiting state and the queue manager is signaled. Whenever the queue manager is awakened, it checks to see if any queues have slots available and requests waiting. If they do, the number of available slots are used to get requests and start executing them. When an execution exits the cluster, the queue manager is signaled again, so the process continues until all the jobs are processed. As a stability benefit, we check this on startup as well.
-
- Aug 26, 2021
-
-
Charlotte Hausman authored
-
Charlotte Hausman authored
-
- Aug 25, 2021
-
-
Janet Goldstein authored
-
- Aug 20, 2021
-
-
Daniel Lyons authored
-
- Aug 19, 2021
-
-
- Aug 09, 2021
-
-
Nathan Hertz authored
-
- Jul 21, 2021
-
-
Nathan Hertz authored
-
- Jun 30, 2021
-
-
Janet Goldstein authored
-
Charlotte Hausman authored
-
- Jun 24, 2021
-
-
Daniel Lyons authored
-
- Jun 21, 2021
-
-
WS-254, WS-253, WS-251: Catch ingest-complete event, parse it, and create request based on given info
-
- Jun 09, 2021
-
-
Andrew Kapuscinski authored
-
- Jun 04, 2021
-
-
- May 25, 2021
-
-
Charlotte Hausman authored
-
- May 21, 2021
-
-
Charlotte Hausman authored
-
- May 17, 2021
-
-
Nathan Hertz authored
-
- May 14, 2021
-
-
Daniel Lyons authored
-
- Apr 14, 2021
-
-
- Apr 08, 2021
-
-
Charlotte Hausman authored
WS-195, WS-76: Notification System now working and sending emails on request submission and completion
-
- Apr 05, 2021
-
-
Nathan Hertz authored
-
- Mar 30, 2021
-
-
Charlotte Hausman authored
-
- Mar 26, 2021
-
-
Charlotte Hausman authored
-
- Mar 18, 2021
-
-
Messaging system is now running on a more robust foundation: - `kombu` package for AMQP networking - New Messenger and Router objects - New message format - Easy-to-use callback subscribing - Can now get messages anywhere in the system easily and send replies back easily
-
- Mar 01, 2021
-
-
Nathan Hertz authored
Updated `testing/utils/conftest.py` with reliable mock data that can be used in tests; added `shared/workspaces` tests
-
- Feb 26, 2021
-
-
Charlotte Hausman authored
WS-101: figured out how to write pytest tests. test_load_engine works, stubs for other tests created
-
- Feb 25, 2021
-
-
Nathan Hertz authored
Refactored execution management logic out of `CapabilityService` into a new class `ExecutionManager`
-
- Feb 18, 2021
-
-
Andrew Kapuscinski authored
updated coveragerc config files to reflect changes to the shared packages location and modified run-tests.sh
-
Nathan Hertz authored
installs all requirements required by all 3 services; new rule: make clean, which cleans up your Python environment and your Docker environment; make test now runs setup.py files for all packages
-
- Feb 17, 2021
-
-
Daniel Lyons authored
-
Daniel Lyons authored
-
- Feb 16, 2021
-
-
Nathan Hertz authored
-
- Feb 05, 2021
-
-
Andrew Kapuscinski authored
-