1717from common .utils .rsa_util import rsa_long_decrypt
1818from common .utils .tool_code import ToolExecutor
1919from knowledge .models .knowledge_action import State
20- from tools .models import Tool
20+ from tools .models import Tool , ToolRecord , ToolTaskTypeChoices
2121from trigger .handler .base_task import BaseTriggerTask
2222from trigger .models import TaskRecord
2323
@@ -145,6 +145,15 @@ def execute(self, trigger_task, **kwargs):
145145 meta = {'input' : parameter_setting , 'output' : {}},
146146 state = State .STARTED
147147 ).save ()
148+ ToolRecord (
149+ id = task_record_id ,
150+ workspace_id = tool .workspace_id ,
151+ tool_id = tool .id ,
152+ source_type = ToolTaskTypeChoices .TRIGGER ,
153+ source_id = trigger_task .get ('trigger' ),
154+ meta = {'input' : parameter_setting , 'output' : {}},
155+ state = State .STARTED
156+ ).save ()
148157
149158 parameters = get_tool_execute_parameters (tool .input_field_list , parameter_setting , kwargs )
150159 init_params_default_value = {i ["field" ]: i .get ('default_value' ) for i in tool .init_field_list }
@@ -165,9 +174,19 @@ def execute(self, trigger_task, **kwargs):
165174 run_time = time .time () - start_time ,
166175 meta = {'input' : parameter_setting , 'output' : result_dict }
167176 )
177+ QuerySet (ToolRecord ).filter (id = task_record_id ).update (
178+ state = State .SUCCESS ,
179+ run_time = time .time () - start_time ,
180+ meta = {'input' : all_params , 'output' : result_dict }
181+ )
168182 except Exception as e :
169183 maxkb_logger .error (f"Tool execution error: { traceback .format_exc ()} " )
170184 QuerySet (TaskRecord ).filter (id = task_record_id ).update (
171185 state = State .FAILURE ,
172186 run_time = time .time () - start_time
173187 )
188+ QuerySet (ToolRecord ).filter (id = task_record_id ).update (
189+ state = State .FAILURE ,
190+ run_time = time .time () - start_time
191+ )
192+
0 commit comments