Error handling
In Quickwork, an error generally refers to any issue that prevents a journey from executing as intended. This could be due to a variety of reasons, including, but not limited to, misconfigurations, external service limitations, or internal system failures. Errors can disrupt the flow of data, halt automation tasks, or lead to incorrect outputs, directly impacting the effectiveness of automated journeys.
Types of errors in Quickwork
- Configuration errors: These occur when a journey is not set up correctly. Examples include entering incorrect API keys, incorrect input types, or using incompatible data types.
- Runtime errors: These arise during the execution of a journey, often related to issues with external systems, such as API rate limits being exceeded, network timeouts, or authentication failures with integrated services.
- Logical errors: The system does not typically catch these because the journey runs without failure messages but does not perform as expected due to flawed logic or incorrect assumptions in the journey design.
- Resource limit errors: Triggered when the allocated resources for a journey, such as API calls or data storage limits, are exceeded.
Some real-life examples of common errors that might be encountered in Quickwork are:
- A user inputs an incorrect API key for Freshdesk, resulting in authentication errors during journey execution.
- A journey designed to frequently query Facebook's API exceeds its rate limits, causing Too Many Requests errors.
- A server response delay during data fetching results in Connection Timeout or Network Error messages.
- Incorrect data format in a form input leads to Data Type Mismatch during data processing.
- A journey to assign tasks based on email instructions fails to handle specific keywords correctly, resulting in improper task assignments.
- Each step in a journey must be completed within 90 seconds. If a step takes longer, it will time out, potentially causing the journey to fail.
- The entire journey must be completed within 15 minutes. If the total execution time exceeds this limit, the journey will time out.
- During execution, if a job consumes more memory than allocated, it can run out of memory. This situation is particularly common in data-intensive operations or large batch processes.
Step-by-step error handling procedures
-
Detection and notification:
- Quickwork automatically detects errors and notifies users via the journey's History tab.
- Each error entry includes a description and sometimes the step #, which helps in initial diagnostics.
-
Investigation:
- Navigate to the affected journey’s History tab to review detailed logs.
- Examine the error messages and check the step where the error occurred for any misconfigurations or data issues.
-
Resolution:
- Stop the journey execution.
- Correct any misconfigurations or data errors identified during the investigation.
- For connection issues, re-authenticate or update connection credentials and permissions.
- Adjust API calls and data processing according to the limits and requirements specified by third-party services.
-
Testing and monitoring:
- After adjustments, manually activate the journey by clicking Save & Start. You can re-run the transaction from the History tab by selecting the failed run and clicking Rerun to validate if the issue has been resolved.
- Continuously monitor the journey’s execution to ensure the error does not recur.
Error handling
-
Errors during journey execution can be effectively managed using the Try-catch mechanism, similar to error handling in traditional programming environments. This approach allows you to define specific responses to errors that occur within a journey, ensuring that a single failure does not necessarily halt the entire process.
-
Regularly monitor your journeys using the transaction table to quickly identify and understand the reasons for failures.
-
Quickwork sends email notifications when a journey fails. Additionally, you can set up alerts on apps like Slack or any email service within the Catch block to notify the team immediately when errors occur.
-
Implement clean-up steps in the Catch block for any failed transactions. For example, if records were created during a Try block that later encounters an error, they can be deleted as they are no longer needed according to business requirements.
-
If errors occur during database operations, such as during maintenance periods or when rows are locked by other queries, use the Catch block to manage these. You can set a custom delay via Scheduler by Quickwork for 5 or 10 minutes and then re-attempt the failed database operations to resolve issues without manual intervention.
-
Too Many Requests errors can be handled to some extent by using the Provisioned Concurrency setting, which limits how many requests are executed at a time.
For example, if you encounter a “Too Many Requests” error when 100 requests are sent to Freshdesk within 60 seconds, you can set the Allocation to 1. This ensures that only one transaction is processed at a time, preventing rate-limit violations and ensuring consistent execution.
📚 Additional resources
Updated 6 days ago