Unreliable Rapid Bulk Operations

Unreliable Rapid Bulk Operations

7 0 9

This isn't necessarily a question as much as it is a warning to other users:



The Bulk Operations API seems quite unreliable when you are executing a series of bulk operations extremely quickly.


In my case, because I am having to get very specific information on RefundLineItems, and I cannot query those in a larger bulk operation due to bulk operations not allowing sub-edge lists inside of them, I have to get a list of Refund IDs in my C# app (over 50) and open up a bulk operation per Refund ID; I was attempting to do this very quickly, as this is a Data Engineering pipeline that will be running in the background.


I have seen for myself that bulk operations I clearly started in the C# app - its logs prove it - are not even query-able in the GraphQL API. And eventually, if I start enough of them too quickly in the C# app, I get a blank URL returned where the JsonL file is supposed to be located and yet a status=COMPLETED. The C# logs clearly show that new, unique bulk operation queries are being started in the C# app, one after the other in sequence as they are supposed to, so the currently documented bulk operation rate limit is being obeyed.


Yet these failures/inconsistencies continue.


Note: See the screenshots that I've attached below.


Shopify Request

Shopify Team, please consider adding more information to the rate limits of your bulk operations, as documented here: https://shopify.dev/api/usage/bulk-operations/queries#rate-limits


Currently, the document states that only 1 bulk operation can be executed per shop, per app at a time; however, as evidenced in my case, even if that restriction is obeyed, a large amount of rapid bulk operations also seem to fail.


Any information you could provide into this would be greatly appreciated! I would have rather avoided trying to make so many rapid bulk operation queries so quickly, but some limitations in the bulk operation API left me with no other choice.


Thank you.

Replies 0 (0)