From f23e098b9a9eb17115ffd924cb3f4af7d5a2d46c Mon Sep 17 00:00:00 2001 From: Harry Date: Sat, 11 Oct 2025 22:13:36 +0800 Subject: [PATCH] fix(trigger): handle exceptions in trigger subscription dispatch - Wrapped the dispatch call in a try-except block to catch exceptions and return a 500 error response if an error occurs. - Enhanced logging of the request and error response for better traceability in the trigger subscription workflow. --- .../trigger_subscription_builder_service.py | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/api/services/trigger/trigger_subscription_builder_service.py b/api/services/trigger/trigger_subscription_builder_service.py index 8e57996812..5c71dc7aa2 100644 --- a/api/services/trigger/trigger_subscription_builder_service.py +++ b/api/services/trigger/trigger_subscription_builder_service.py @@ -297,15 +297,20 @@ class TriggerSubscriptionBuilderService: controller: PluginTriggerProviderController = TriggerManager.get_trigger_provider( tenant_id=subscription_builder.tenant_id, provider_id=TriggerProviderID(subscription_builder.provider_id) ) - response: TriggerDispatchResponse = controller.dispatch( - user_id=subscription_builder.user_id, - request=request, - subscription=subscription_builder.to_subscription(), - credentials={}, - credential_type=CredentialType.UNAUTHORIZED, - ) + try: + response: TriggerDispatchResponse = controller.dispatch( + user_id=subscription_builder.user_id, + request=request, + subscription=subscription_builder.to_subscription(), + credentials={}, + credential_type=CredentialType.UNAUTHORIZED, + ) + except Exception as e: + error_response = Response(status=500, response=str(e)) + cls.append_log(endpoint_id=endpoint_id, request=request, response=error_response) + return error_response # append the request log - cls.append_log(endpoint_id, request, response.response) + cls.append_log(endpoint_id=endpoint_id, request=request, response=response.response) return response.response @classmethod