mirror of
https://github.com/langgenius/dify.git
synced 2026-09-24 23:22:26 +08:00
fix(api): prevent HITL pause from aborting workflow resume (#39485)
Co-authored-by: 李政达 <1242427577@qq.com> Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
This commit is contained in:
@@ -5,7 +5,12 @@ from unittest.mock import patch
|
||||
from core.app.apps.base_app_queue_manager import PublishFrom
|
||||
from core.app.apps.workflow.app_queue_manager import WorkflowAppQueueManager
|
||||
from core.app.entities.app_invoke_entities import InvokeFrom
|
||||
from core.app.entities.queue_entities import QueueMessageEndEvent, QueuePingEvent, QueueStopEvent
|
||||
from core.app.entities.queue_entities import (
|
||||
QueueMessageEndEvent,
|
||||
QueuePingEvent,
|
||||
QueueStopEvent,
|
||||
QueueWorkflowPausedEvent,
|
||||
)
|
||||
|
||||
|
||||
class TestWorkflowAppQueueManager:
|
||||
@@ -99,3 +104,23 @@ class TestWorkflowAppQueueManager:
|
||||
_ = list(manager.listen())
|
||||
|
||||
graph_engine_manager.return_value.send_stop_command.assert_not_called()
|
||||
|
||||
def test_workflow_pause_does_not_abort_execution(self):
|
||||
with (
|
||||
patch("core.app.apps.base_app_queue_manager.redis_client") as redis_client,
|
||||
patch("core.app.apps.base_app_queue_manager.GraphEngineManager") as graph_engine_manager,
|
||||
):
|
||||
redis_client.get.return_value = None
|
||||
manager = WorkflowAppQueueManager(
|
||||
task_id="task",
|
||||
user_id="user",
|
||||
invoke_from=InvokeFrom.DEBUGGER,
|
||||
app_mode="workflow",
|
||||
)
|
||||
manager.publish(QueueWorkflowPausedEvent(), PublishFrom.APPLICATION_MANAGER)
|
||||
listener = manager.listen()
|
||||
|
||||
assert isinstance(next(listener).event, QueueWorkflowPausedEvent)
|
||||
listener.close()
|
||||
|
||||
graph_engine_manager.return_value.send_stop_command.assert_not_called()
|
||||
|
||||
Reference in New Issue
Block a user