- Jan 12, 2022
-
-
Janet Goldstein authored
-
- Jan 11, 2022
-
-
Janet Goldstein authored
-
Janet Goldstein authored
-
Janet Goldstein authored
-
- Jan 10, 2022
-
-
Janet Goldstein authored
CapabilityRequest.current_execution removed to match CapabilityRequest ORM. Tests pass.
-
Andrew Kapuscinski authored
-
- Jan 07, 2022
-
-
Nathan Hertz authored
-
- Jan 04, 2022
-
-
Janet Goldstein authored
-
Nathan Hertz authored
-
- Dec 21, 2021
-
-
-
Janet Goldstein authored
-
- Nov 22, 2021
-
-
Charlotte Hausman authored
-
- Nov 18, 2021
-
-
Janet Goldstein authored
-
- Nov 10, 2021
-
-
Charlotte Hausman authored
-
- Nov 08, 2021
-
-
Nathan Hertz authored
-
- Oct 29, 2021
-
-
Charlotte Hausman authored
-
- Oct 20, 2021
-
-
Andrew Kapuscinski authored
-
-
Andrew Kapuscinski authored
-
- Oct 05, 2021
-
-
Andrew Kapuscinski authored
-
- Sep 27, 2021
-
-
Andrew Kapuscinski authored
-
- Sep 22, 2021
-
-
Janet Goldstein authored
-
- Sep 16, 2021
-
-
Charlotte Hausman authored
-
- 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 19, 2021
-
-
- Aug 17, 2021
-
-
Andrew Kapuscinski authored
-
- Jul 20, 2021
-
-
Charlotte Hausman authored
-
- Jun 24, 2021
-
-
Nathan Hertz authored
-
- Jun 15, 2021
-
-
Janet Goldstein authored
old name new name --- --- ready created executing submitted ? in_progress
-
- Jun 07, 2021
-
-
Nathan Hertz authored
-
- Jun 04, 2021
-
-
Andrew Kapuscinski authored
-
Nathan Hertz authored
-
- May 27, 2021
-
-
Charlotte Hausman authored
-
- May 25, 2021
-
-
Charlotte Hausman authored
-
- Apr 20, 2021
-
-
Andrew Kapuscinski authored
removed EXPOSE cmd in frontend's Dockerfile.dev and added empty dependencies to CI stages that don't need artifacts for efficiency
-
- Mar 23, 2021
-
-
Added the ability to compare capability executions by their creation timestamp; made it so encountering exceptions when receiving messages does not block the system
-
- 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
-
- Feb 25, 2021
-
-
existing executions cannot be deleted (they must be disabled instead, which will have to be implemented)
-
Nathan Hertz authored
Refactored execution management logic out of `CapabilityService` into a new class `ExecutionManager`
-
- Feb 22, 2021
-
-
Nathan Hertz authored
-