gpt4 book ai didi

php - Shopify GraphQL Admin API 速率限制成本和 sleep 时间

转载 作者:行者123 更新时间:2023-12-04 13:02:16 27 4
gpt4 key购买 nike

我正在尝试在 PHP ( Laravel ) 中使用 Shopify GraphQL API for Admin。
与 REST api 相比,GraphQL api 中的速率限制和节流的工作方式不同,其计算基于 费用 的查询。
Cost of Shopify GraphQL query

要记住的几点:

  • 一次 api 调用(查询)的最大可用成本为 1000。
  • 如果您消耗了 1000 点中的一些点数,则每秒将恢复 50 点数。
  • 如果您的存储桶中的成本点较少,并且您查询的成本高于该点,则它将受到限制。

  • 我传递给 api 的查询的估计成本为 502 ,表示为 请求查询成本 .而, 实际查询成本 代表实际 回复 由特定商店的 api 返回。

    在上面的快照中,它是最坏的情况, 请求查询成本 等于 实际查询成本 对于订单量很大的商店。

    现在,当执行此查询时,我消耗了 502 点,还剩 498 点,经过 1 秒,添加了 50 点 = 548 ,我可以进行第二次 api 调用以获取第二页数据。在第二次 api 调用后,我剩下的点数会减少,所以我必须放 sleep 1 或 2 秒以获得进行 api 调用的积分。

    在快照所示的情况下,我必须输入 10 秒 sleep 等待以恢复 500分进行下一个 api 调用。
    问题:如何最好地决定不同商店的 sleep (等待)时间?我们不希望所有商店即使查询成本较低也需要等待 10 秒。
    注:有关代码引用,请参阅下面我的回答。

    最佳答案

    您将获得每家商店的成本电话 list 。如果一家商店的零钱,您可能还有 1000 件在另一家商店等着您。你应该确保你的调用机制很清楚!每个商店只睡一个线程。您应该能够将请求分配给一个线程,以便在它休眠时您仍然可以使用其他线程进行操作。如果 PHP 使用分配给所有请求的一个线程运行,我会笑死的。那将是 1982 年的计算!

    关于php - Shopify GraphQL Admin API 速率限制成本和 sleep 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53469612/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com