mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-10 14:55:16 -05:00
Currently, the agent/graph execution engine is consuming the execution queue and acknowledges the message after fully completing its execution or failing it. However, in the case of the agent executor failing due to a hardware/resource issue, or the executor did not manage to acknowledge the execution message. Another agent executor will pick it up and start the execution again from the beginning. The scope of this PR is to make the next executor pick up the next work to continue the pre-existing execution instead of starting it all over from the beginning. ### Changes 🏗️ * Removed `start_node_execs` from `GraphExecutionEntry` * Populate the starting graph node from the DB query instead (fetching Running & Queued node executions). * Removed `get_incomplete_node_executions` from DB manager. * Use get_node_executions with a status filter instead. * Allow graph execution to end in non-FAILED/COMPLETED status, e.g, when the executor is interrupted, it should be stuck in the running status, and let other executors continue the task. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Run an agent, stop the executor midway, re-reun the executor, the execution should be continued instead of restarted.