Laravelでcronジョブを使用して大きなCSVファイルをインポートする
<p><strong>Laravel 8</strong> を使用しており、<strong>何十億もの商品の価格を更新したいと考えています</strong>。この コードを追加したところ、正常に動作しました が、 効率的ではなく 、サーバーの 負荷が増加しました 。 </p>
<pre class="brush:php;toolbar:false;">試してください {
$priceCsvs = PriceCsv::whereStatus(PriceCsv::PENDING)->get();
foreach ($priceCsvs as $price) {
dump($price->name." が開始されました");
$csvData = fopen($price->file_url, 'r');
$firstline = true;
while (($data = fgetcsv($csvData, 555, ',')) !== false) {
if (!$firstline && !empty($data)) {
ダンプ($data);
}
$firstline = false;
}
fclose($csvData);
dump($price->name." は終了です");
}
} catch (\Exception $ex) {
dump($ex->getMessage());
}</pre>
<p><em><strong>ポイントは次のとおりです:</strong></em><strong>CSV ファイル</strong> またはその他のファイルから入力を取得する方法はありますか< ;strong> 1000 回後に睡眠を追加</strong>うまくいきました。 </p>