What's your biggest current challenge? Have your say in Community Polls along the right column.
Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

Re: Not receiving all fulfillment_order_notification calls

Not receiving all fulfillment_order_notification calls

QLS
Shopify Partner
3 0 1

We are not receiving all the fulfillment_requested calls from Shopify.

 

On a normal day every fulfillment_request is received by us for all shops using our app, and so all orders assigned to our location is received and fulfilled by us.

 

But for some weird reason every now and then Shopify stops sending the fulfillment_request calls for a shop (doesn't matter which shop). First i thought Shopify hit our rate-limit, but when i track the calls that are working, Shopify sends the fulfillment_request every minute... So that is not a rate-limit issue.

 

But it mostly happens with a shop which has a large sale and is processing thousands of orders.

Our client then also receives notices about fulfillment_request failing 19 times, but when i check our access_logs we are not receiving every request.

 

What can this be?

Replies 4 (4)

SBD_
Shopify Staff
1831 273 421

Hey @QLS 

 

Could you please provide some more details/examples over DM so we can look into logs? A possible cause is that your services are down/slow to respond, and we'll back off exponentially and wait before trying again.

Scott | Developer Advocate @ Shopify 

QLS
Shopify Partner
3 0 1

Hey SBD_

 

Thanks for the reply.

 

Yes, we figured it could be the speed, since we also process the orders in the same call.

We will fix that in the upcoming release next week and check if that resolves the issue.

 

It's a bit difficult to test, since it only happens when a shop has a lot of orders, but we'll monitor this from our end.

 

Thanks

jdorsch
Tourist
9 2 5

A good long term solution for this is to create a job queue. Your web service would return 200 to requests as fast as possible, queue the job, then close the connection.  Then you have a separate worker service that processes the job queue.

QLS
Shopify Partner
3 0 1

Yep, we fixed it like this indeed 🙂