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
4630f9c7
Commit
4630f9c7
authored
Mar 10, 2024
by
takatost
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add workflow_app_log codes
parent
ba66beb4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
5 deletions
+58
-5
generate_task_pipeline.py
api/core/app/apps/workflow/generate_task_pipeline.py
+35
-5
workflow.py
api/models/workflow.py
+23
-0
No files found.
api/core/app/apps/workflow/generate_task_pipeline.py
View file @
4630f9c7
...
...
@@ -32,7 +32,15 @@ from core.workflow.entities.node_entities import NodeRunMetadataKey, SystemVaria
from
extensions.ext_database
import
db
from
models.account
import
Account
from
models.model
import
EndUser
from
models.workflow
import
Workflow
,
WorkflowNodeExecution
,
WorkflowRun
,
WorkflowRunStatus
,
WorkflowRunTriggeredFrom
from
models.workflow
import
(
Workflow
,
WorkflowAppLog
,
WorkflowAppLogCreatedFrom
,
WorkflowNodeExecution
,
WorkflowRun
,
WorkflowRunStatus
,
WorkflowRunTriggeredFrom
,
)
logger
=
logging
.
getLogger
(
__name__
)
...
...
@@ -142,7 +150,7 @@ class WorkflowAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline):
)
# save workflow app log
self
.
_save_workflow_app_log
()
self
.
_save_workflow_app_log
(
workflow_run
)
response
=
{
'task_id'
:
self
.
_application_generate_entity
.
task_id
,
...
...
@@ -261,7 +269,7 @@ class WorkflowAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline):
yield
self
.
_yield_response
(
replace_response
)
# save workflow app log
self
.
_save_workflow_app_log
()
self
.
_save_workflow_app_log
(
workflow_run
)
workflow_run_response
=
{
'event'
:
'workflow_finished'
,
...
...
@@ -448,12 +456,34 @@ class WorkflowAppGenerateTaskPipeline(WorkflowBasedGenerateTaskPipeline):
return
workflow_run
def
_save_workflow_app_log
(
self
)
->
None
:
def
_save_workflow_app_log
(
self
,
workflow_run
:
WorkflowRun
)
->
None
:
"""
Save workflow app log.
:return:
"""
pass
# todo
invoke_from
=
self
.
_application_generate_entity
.
invoke_from
if
invoke_from
==
InvokeFrom
.
SERVICE_API
:
created_from
=
WorkflowAppLogCreatedFrom
.
SERVICE_API
elif
invoke_from
==
InvokeFrom
.
EXPLORE
:
created_from
=
WorkflowAppLogCreatedFrom
.
INSTALLED_APP
elif
invoke_from
==
InvokeFrom
.
WEB_APP
:
created_from
=
WorkflowAppLogCreatedFrom
.
WEB_APP
else
:
# not save log for debugging
return
workflow_app_log
=
WorkflowAppLog
(
tenant_id
=
workflow_run
.
tenant_id
,
app_id
=
workflow_run
.
app_id
,
workflow_id
=
workflow_run
.
workflow_id
,
workflow_run_id
=
workflow_run
.
id
,
created_from
=
created_from
.
value
,
created_by_role
=
(
'account'
if
isinstance
(
self
.
_user
,
Account
)
else
'end_user'
),
created_by
=
self
.
_user
.
id
,
)
db
.
session
.
add
(
workflow_app_log
)
db
.
session
.
commit
()
db
.
session
.
close
()
def
_handle_chunk
(
self
,
text
:
str
)
->
dict
:
"""
...
...
api/models/workflow.py
View file @
4630f9c7
...
...
@@ -433,6 +433,29 @@ class WorkflowNodeExecution(db.Model):
def
execution_metadata_dict
(
self
):
return
self
.
execution_metadata
if
not
self
.
execution_metadata
else
json
.
loads
(
self
.
execution_metadata
)
class
WorkflowAppLogCreatedFrom
(
Enum
):
"""
Workflow App Log Created From Enum
"""
SERVICE_API
=
'service-api'
WEB_APP
=
'web-app'
INSTALLED_APP
=
'installed-app'
@
classmethod
def
value_of
(
cls
,
value
:
str
)
->
'WorkflowAppLogCreatedFrom'
:
"""
Get value of given mode.
:param value: mode value
:return: mode
"""
for
mode
in
cls
:
if
mode
.
value
==
value
:
return
mode
raise
ValueError
(
f
'invalid workflow app log created from value {value}'
)
class
WorkflowAppLog
(
db
.
Model
):
"""
Workflow App execution log, excluding workflow debugging records.
...
...
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