外部フィードから商品を一括で挿入/編集しようとして、WooCommerce の「REST API」(これまでで最悪の決定) を使用しています。これは私の側ではうまく機能していますが、WooCommerce 自体が失敗している何かがあり、それが私自身の進歩の邪魔になっているに違いありません。一度に 100 回、エラー レポートが表示されますInvalid JSON returned for...
。
wooStockUpdate: Saving products to WooCommerce via bulk update/insert
wooStockUpdate: 4% products processed - estimated time left: 2394.48s
wooStockUpdate: 9% products processed - estimated time left: 2758.21s
wooStockUpdate: 14% products processed - estimated time left: 2412.816s
wooStockUpdate: 19% products processed - estimated time left: 2308.176s
wooStockUpdate: 23% products processed - estimated time left: 2961.035s
wooStockUpdate: 28% products processed - estimated time left: 2047.248s
wooStockUpdate: 33% products processed - estimated time left: 2017.906s
wooStockUpdate: 38% products processed - estimated time left: 1881.7s
wooStockUpdate: 42% products processed - estimated time left: 2359.295s
Invalid JSON returned for http://wholefoodearthdev/wc-api/v3/products/bulk?...
201
パーセンテージ (および推定時間。REST API を使用すると何時間もかかるため) を報告するたびに、100 個のアイテムの個々のバルクを WooCommerce に送信する反復が完了します。これらのいずれかでエラーが発生し、送信内容に依存しません。
エラーが発生しても、201 - Created
HTTP ステータスが返されます。これは、100 個の製品の少なくとも一部が作成されているためです。コードを調べたところ、単一の作成コードを再利用しているだけなので、正しいステータスを返すことができませんでした。項目の 1 つが成功したため、一括失敗のコード。
最も重要なことは、これが発生するたびに、ほぼ正確に 180 秒間実行されていることです。これは、CURL リクエストと PHP のタイムアウトを 6 に設定しているため、WooCommerce 側のタイムアウトであると考えています。時間。だから私が知る必要があるのは、WooCommerce を強制的に終了させる最も簡単な方法です。私も WooCommerce を編集するつもりはないので、編集せずに (できればサーバーの再構成なしで) 編集できるのであれば、それは素晴らしいことです。
これが本当に WooCommerce による完全な見落としであるとしたら、それを編集する以外に選択肢はないと思いますが、タイムアウト制限を設定する方法を説明するドキュメントで何かを見逃していることを願っています. これまでのところ、そのようなものは見たことがありませんが、以前に知っていれば非常に役に立ち、ドキュメントからも見逃されていた他のことに気づいたので、誰が知っていますか...