在 Laravel 中使用 cron 作業匯入大型 CSV 文件
<p>我正在使用 <strong>Laravel 8</strong>,並且我想要<strong>更新數十億個產品價格</strong>。我添加了這個<strong>代碼,它工作正常</strong>,但它<strong>效率不高</strong>,它增加了<strong>服務器上的負載</strong> 。 </p>
<pre class="brush:php;toolbar:false;">try {
$priceCsvs = PriceCsv::whereStatus(PriceCsv::PENDING)->get();
foreach ($priceCsvs as $price) {
dump($price->name." is started");
$csvData = fopen($price->file_url, 'r');
$firstline = true;
while (($data = fgetcsv($csvData, 555, ',')) !== false) {
if (!$firstline && !empty($data)) {
dump($data);
}
$firstline = false;
}
fclose($csvData);
dump($price->name." is End");
}
} catch (\Exception $ex) {
dump($ex->getMessage());
}</pre>
<p><em><strong>重點是:</strong></em>有沒有辦法從<strong>CSV 文件</strong>或任何其他文件<strong>在輸入1000 次後加入睡眠</strong>有效的方法。 </p>