Thanks @Kayla_Campos for sharing the screenshots, it’s now much better!
The reason for not getting errors is that you have done the below option:
On Error → Continue
Now based on the screenshots provided I don’t believe it’s a memory issue neither concurrent requests but rather the requests being done to Attio API, now based on Attio API docs here:
rate limit is 100 requests per second for read requests and 25 requests per second for write requests.
Now there are multiple reasons for that issue, examples could be:
- Rate limiting
- Bad payload being sent to Attio
Let’s assume the data being sent are valid, Now how to fix the issue:
1- please change On Error → Continue to be either: Stop Workflow or Continue (using error output) I recommend going with Continue (using error output)
2- if we go with the Continue (using error output) option, now in the error route we may get something like this from Attio API response:
HTTP/1.1 429 Too Many Requests
Retry-After: Tue, 25 May 2023 14:42:01 GMT
Content-Type: application/json
{
"status_code": 429,
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded, please try again later"
}
now we can parse the Retry-After header and then add a wait node and then retry the request again after the time being specified in Retry-After header, something like this:
Note I’ve used if node here as an example to check for the error being returned and in case it’s a rate limit error we go to the wait node, for sure we can use switch node …etc I’m just showing an example.
Most failures take ~57 seconds so it’s a timeout issue and I’m almost 100% sure it’s the API callings to Attio, so please can you do the above changes and share the results back?
Thanks