Hi Shopify Team,
I am getting "Operation timed out after 30000 milliseconds with 0 out of 0 bytes received" issue in all my Shopify API calls. This is happening from last few days. Although this issue was not frequent initially but nowadays, it is coming very frequent. It goes automatically in a couple of hours.
Are there any changes you have made in the API that I need to implement in all my apps or is this something happening on your end?
Please reply ASAP as my client are really freaking out due to these frequent issues.
PS: I have checked on Google and I know the issue I have mentioned in because of CURL but the Shopify API is taking more than 30 sec to response which is unusual.
Can you give me an example request I can look at? We provide an `X-Request-Id` response header in all responses to API requests. This will help me check out logs to see what's up.
This has been happening to me recently when pushing a list of products to a new client store.
And its random, in that sometimes 15 products get pushed sucessfully and then this error pops, sometimes it can push 90 or 150 before this error occurs.
I'm using `phpish/shopify` as a Shopify CURL API Call wrapper, and the exact error I get is
PHP Fatal error: Uncaught phpish\\shopify\\CurlException:  Operation timed out after 30000 milliseconds with 0 bytes received
Haven't yet pinned down what it is.
This is happening to us too! We're having random curl errors 28 and 35 for the last 7 months and can't find any pattern or reason for that.
We had to implement some sort of "retry" feature when error 35 happens and it usually works if we "resend" the request. It happens on connection so within 1 sec we try again and it goes through...
However, error 28 (timeout) is a little trickier to fix as we don't know for sure if Shopify API has recieved our POST or PUT request (and has already processed it) and we just didn't get a response back...
Spend a lot of time trying to solve this problem without success.
Anybody experiencing the same problems? Any "real" fix for this?
TL;DR -- SOLUTION:
Whether using raw CURL or if using some Shopify API wrapper, `CURLOPT_TIMEOUT` needs to be changed to something higher than 30, like 90:
curl_setopt($ch, CURLOPT_TIMEOUT,90); // 90 seconds
I solved it by increasing the timeout time from 30 seconds to 90 seconds (I think 60 or even less does the trick, but this happens rarely, so I figured the 90 seconds wouldn't hurt as its never reaches that anyway unless something is broken).
From what I could tell, it has something to do with some images.... for some reason. When uploading them via the API, in my case, they succeed but the response doesn't come back in time for the 30 second limit that was set and it looks like there was an error in uploading (ie, doing a PUT or POST via Shopify API).
Once I increased the limit, the upload succeeds, and I get a successful response so far 100% of the time, with a catalogue of thousands of products, and multiple clients each utilizing the API products upload feature.