If it does, how does Acumatica throttle its use of the API? Will it use all available resources in the Shopify's “Leaky Bucket” or is this adjustable?
Page 1 / 1
Yes, our connector is based on Shopify API rate limits to access API data(for standard plan 2 calls/second, for Shopify plus plan 4 calls/second)
Based on Shopify's documentation, initialized Leaky Bucket is 40(Shopify plus is 80), and we are using Semaphore pattern to control API rate.
- Initialized Leaky Bucket as 40, initialize a Timer to release 2 calls per second, Timer will auto refill the Bucket.
- All API requests are waiting in a queue
- If current Bucket available calls greater than 0, allow sending API to Shopify; Otherwise system will put API requests on hold and wait for the Bucket available calls update(1. Based on another API response and Timer)
- Based on each API response result, update Bucket available calls and Bucket's capacity
- If system allows sending API to Shopify but Shopify reports the Bucket size is exceeded, system will wait for 0.5 second and re-try, the default attempt times is 1000, but user can change it in Web.Config file.
- If API token is shared with another system, our system will not be enable to get correct available calls info and it will have above issue.
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.