Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dify
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ai-tech
dify
Commits
2ffb63ff
Commit
2ffb63ff
authored
Mar 08, 2024
by
takatost
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix stream bugs
parent
90bcb241
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
13 additions
and
8 deletions
+13
-8
app_generator.py
api/core/app/apps/advanced_chat/app_generator.py
+1
-1
generate_task_pipeline.py
api/core/app/apps/advanced_chat/generate_task_pipeline.py
+1
-1
workflow_event_trigger_callback.py
...app/apps/advanced_chat/workflow_event_trigger_callback.py
+1
-1
base_app_queue_manager.py
api/core/app/apps/base_app_queue_manager.py
+7
-2
generate_task_pipeline.py
api/core/app/apps/workflow/generate_task_pipeline.py
+1
-1
workflow_event_trigger_callback.py
...core/app/apps/workflow/workflow_event_trigger_callback.py
+1
-1
queue_entities.py
api/core/app/entities/queue_entities.py
+1
-1
No files found.
api/core/app/apps/advanced_chat/app_generator.py
View file @
2ffb63ff
...
...
@@ -54,7 +54,7 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):
inputs
=
args
[
'inputs'
]
extras
=
{
"auto_generate_conversation_name"
:
args
[
'auto_generate_name'
]
if
'auto_generate_name'
in
args
else
Tru
e
"auto_generate_conversation_name"
:
args
[
'auto_generate_name'
]
if
'auto_generate_name'
in
args
else
Fals
e
}
# get conversation
...
...
api/core/app/apps/advanced_chat/generate_task_pipeline.py
View file @
2ffb63ff
...
...
@@ -346,7 +346,7 @@ class AdvancedChatAppGenerateTaskPipeline:
yield
self
.
_yield_response
(
response
)
elif
isinstance
(
event
,
QueueTextChunkEvent
):
delta_text
=
event
.
chunk_
text
delta_text
=
event
.
text
if
delta_text
is
None
:
continue
...
...
api/core/app/apps/advanced_chat/workflow_event_trigger_callback.py
View file @
2ffb63ff
...
...
@@ -76,7 +76,7 @@ class WorkflowEventTriggerCallback(BaseWorkflowCallback):
streamable_node_ids
=
[]
end_node_ids
=
[]
for
node_config
in
graph
.
get
(
'nodes'
):
if
node_config
.
get
(
'type'
)
==
NodeType
.
END
.
value
:
if
node_config
.
get
(
'
data'
,
{})
.
get
(
'
type'
)
==
NodeType
.
END
.
value
:
end_node_ids
.
append
(
node_config
.
get
(
'id'
))
for
edge_config
in
graph
.
get
(
'edges'
):
...
...
api/core/app/apps/base_app_queue_manager.py
View file @
2ffb63ff
...
...
@@ -15,6 +15,7 @@ from core.app.entities.queue_entities import (
QueueMessageEndEvent
,
QueuePingEvent
,
QueueStopEvent
,
QueueWorkflowFinishedEvent
,
)
from
extensions.ext_redis
import
redis_client
...
...
@@ -36,7 +37,8 @@ class AppQueueManager:
self
.
_invoke_from
=
invoke_from
user_prefix
=
'account'
if
self
.
_invoke_from
in
[
InvokeFrom
.
EXPLORE
,
InvokeFrom
.
DEBUGGER
]
else
'end-user'
redis_client
.
setex
(
AppQueueManager
.
_generate_task_belong_cache_key
(
self
.
_task_id
),
1800
,
f
"{user_prefix}-{self._user_id}"
)
redis_client
.
setex
(
AppQueueManager
.
_generate_task_belong_cache_key
(
self
.
_task_id
),
1800
,
f
"{user_prefix}-{self._user_id}"
)
q
=
queue
.
Queue
()
...
...
@@ -106,7 +108,10 @@ class AppQueueManager:
self
.
_q
.
put
(
message
)
if
isinstance
(
event
,
QueueStopEvent
|
QueueErrorEvent
|
QueueMessageEndEvent
):
if
isinstance
(
event
,
QueueStopEvent
|
QueueErrorEvent
|
QueueMessageEndEvent
|
QueueWorkflowFinishedEvent
):
self
.
stop_listen
()
if
pub_from
==
PublishFrom
.
APPLICATION_MANAGER
and
self
.
_is_stopped
():
...
...
api/core/app/apps/workflow/generate_task_pipeline.py
View file @
2ffb63ff
...
...
@@ -248,7 +248,7 @@ class WorkflowAppGenerateTaskPipeline:
yield
self
.
_yield_response
(
workflow_run_response
)
elif
isinstance
(
event
,
QueueTextChunkEvent
):
delta_text
=
event
.
chunk_
text
delta_text
=
event
.
text
if
delta_text
is
None
:
continue
...
...
api/core/app/apps/workflow/workflow_event_trigger_callback.py
View file @
2ffb63ff
...
...
@@ -76,7 +76,7 @@ class WorkflowEventTriggerCallback(BaseWorkflowCallback):
streamable_node_ids
=
[]
end_node_ids
=
[]
for
node_config
in
graph
.
get
(
'nodes'
):
if
node_config
.
get
(
'type'
)
==
NodeType
.
END
.
value
:
if
node_config
.
get
(
'
data'
,
{})
.
get
(
'
type'
)
==
NodeType
.
END
.
value
:
if
node_config
.
get
(
'data'
,
{})
.
get
(
'outputs'
,
{})
.
get
(
'type'
,
''
)
==
'plain-text'
:
end_node_ids
.
append
(
node_config
.
get
(
'id'
))
...
...
api/core/app/entities/queue_entities.py
View file @
2ffb63ff
...
...
@@ -48,7 +48,7 @@ class QueueTextChunkEvent(AppQueueEvent):
QueueTextChunkEvent entity
"""
event
=
QueueEvent
.
TEXT_CHUNK
chunk_
text
:
str
text
:
str
class
QueueAgentMessageEvent
(
AppQueueEvent
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment