awe*_*san 5 php shopify laravel graphql shopify-app
我正在尝试在 PHP ( Laravel ) 中使用 Shopify GraphQL API for Admin。
与 REST api 相比,GraphQL api 中的速率限制和节流工作方式不同,它是根据查询成本计算的。

需要记住的几点:
我传递给 api 的查询的估计成本为502 ,由requestedQueryCost表示。而actualQueryCost表示API 针对特定商店返回的实际响应。
在上面的快照中,这是最坏的情况,对于订单数量较多的商店,requestedQueryCost等于acutalQueryCost 。
现在,当执行这个查询时,我已经消耗了 502 点,还剩下 498 点,经过 1 秒,添加了 50 点 = 548,我可以进行第二次 api 调用来获取第二页数据。第二次 api 调用后,我剩下的积分会减少,因此我必须休眠1或 2 秒才能获得进行 api 调用的积分。
在快照所示的情况下,我必须等待10 秒才能恢复500 点以进行下一次 api 调用。
问题:如何更好地确定不同商店的睡眠(等待)时间?我们不希望所有商店都等待 10 秒,即使它们的查询成本较低。
注意:有关代码参考,请参阅下面我的答案。
您会得到每个商店的清晰的成本记录。如果一家商店的人数为零,那么另一家商店可能还有 1000 人在等着您。您应该确保您的调用机制对此很清楚!每个商店只休眠一个线程。您应该能够将请求分配给线程,这样,如果它休眠,您仍然可以与其他线程一起操作。如果 PHP 运行时将一个线程分配给所有请求,我会笑死的。这就是 1982 年的计算!
| 归档时间: |
|
| 查看次数: |
3678 次 |
| 最近记录: |