1

我正在处理一项任务,我需要获取 bigcommerce 产品检查产品 url 以生成 sitemap.xml 文件

实际上网站上有 180000 种产品,所以我需要创建多个站点地图 xml 文件和一个索引 (sitemap.xml) 文件。

我完成了所有脚本来做到这一点,我在创建的每个站点地图 xml 文件中对 50000 个 url 进行分组。

当我运行它时,一旦它被正确执行并创建了 4 个站点地图文件。一切正常。

但是现在我在运行一段时间后无法执行它,因为它给了我网络错误(比如 bigcommerce 连接丢失)

问题是调用 bigcommerce api 时存在限制,因为我们需要向它发送一个页面编号,并且一次只能获取 250 个产品。

所以我要求 bigcommerce 支持人员在单个 api 调用中扩展获取产品的限制。他建议我使用循环并告诉我没有任何解决方案,我们一次只能获取 250 个产品。

在循环调用 api 的单个脚本中很难获取 180000 个产品。但就我而言,我必须在一个脚本中执行此操作(我需要将该脚本设置为 cron 作业)。

是否有任何解决方案可以在没有任何网络错误的情况下完成此任务。这里有什么大型商务专家吗?

任何帮助将不胜感激!!

4

1 回答 1

1

我在尝试拉出我正在处理的商店中的所有产品时遇到了同样的问题,就目前而言,他们确实有每个请求的最大产品数量,

你需要做的是使用过滤器,然后循环......我相信没有其他方法可以做到这一点。

$count = Bigcommerce::getProductsCount()/250;

for($x=1;$x<$count;$x++){
$filter = array("page" => $x, "limit" => 250);
$products = Bigcommerce::getProducts($filter);

// All your code goes here

}

我希望这回答了你的问题。虽然这个回复有点晚,但它可能会帮助某人

于 2013-11-20T07:47:24.850 回答