Icon

JKISeasor2-17_​tomljh_​ver1

Challenge 17: Better Workflows with Error Handling and Logging

挑战 17:通过错误处理和日志记录改进工作流水平: 难描述:此挑战的目标是提醒您使用错误处理和日志记录构建可靠解决方案的重要性。这些是工作流开发中的最佳实践,经常被遗忘,但最终会产生很大的不同 - 特别是如果应用程序至关重要或您正在与团队合作。具体来说,您将选择您选择的任何工作流并向其添加以下元素:错误处理:使用 Try & Catch 构造;日志记录 - 提取工作流名称、用户名、执行的开始和结束。接下来,在一行中创建一个包含这些元数据以及故障节点的名称(如果有)及其消息的表,并将此表写入 CSV 文件。确保再次执行工作流后,会将新行追加到 CSV 文件中的日志表中。或者,您可以向日志文件添加更多列,例如,根据执行状态(成功或失败)带有自定义消息的列。您还可以创建一个日志记录组件,该组件将工作流名称、用户名、执行的开始和结束作为输入,允许配置自定义消息并更新日志文件。 Main Workflow - Demonstrating the occurrence ofexceptions Try start Catch success/failure start_timeTryManual changeFor example:2023-07-21 Success2023-07-211 FailureCatchWorkflow Informationend_timeexecution status$FailingNode$ = "none" =>"success"TRUE =>"failure"Write to log filelog.csv Create Date&TimeRange Table Rowto Variable Try (VariablePorts) Table Creator String to Date&Time Catch Errors(Var Ports) Extract ContextProperties Create Date&TimeRange Table Rowto Variable Merge Variables Variable toTable Row Rule Engine CSV Writer Table Manipulator 挑战 17:通过错误处理和日志记录改进工作流水平: 难描述:此挑战的目标是提醒您使用错误处理和日志记录构建可靠解决方案的重要性。这些是工作流开发中的最佳实践,经常被遗忘,但最终会产生很大的不同 - 特别是如果应用程序至关重要或您正在与团队合作。具体来说,您将选择您选择的任何工作流并向其添加以下元素:错误处理:使用 Try & Catch 构造;日志记录 - 提取工作流名称、用户名、执行的开始和结束。接下来,在一行中创建一个包含这些元数据以及故障节点的名称(如果有)及其消息的表,并将此表写入 CSV 文件。确保再次执行工作流后,会将新行追加到 CSV 文件中的日志表中。或者,您可以向日志文件添加更多列,例如,根据执行状态(成功或失败)带有自定义消息的列。您还可以创建一个日志记录组件,该组件将工作流名称、用户名、执行的开始和结束作为输入,允许配置自定义消息并更新日志文件。 Main Workflow - Demonstrating the occurrence ofexceptions Try start Catch success/failure start_timeTryManual changeFor example:2023-07-21 Success2023-07-211 FailureCatchWorkflow Informationend_timeexecution status$FailingNode$ = "none" =>"success"TRUE =>"failure"Write to log filelog.csv Create Date&TimeRange Table Rowto Variable Try (VariablePorts) Table Creator String to Date&Time Catch Errors(Var Ports) Extract ContextProperties Create Date&TimeRange Table Rowto Variable Merge Variables Variable toTable Row Rule Engine CSV Writer Table Manipulator

Nodes

Extensions

Links