在 Laravel 中使用 cron 作业导入大型 CSV 文件
P粉024986150
P粉024986150 2023-09-02 20:12:27
0
1
424

我正在使用 Laravel 8,并且我想要更新数十亿个产品价格。我添加了这个代码,它工作正常,但它效率不高,它增加了服务器上的负载

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()); }

要点是:有没有办法从 CSV 文件或任何其他文件在输入 1000 次后添加睡眠有效的方法。

P粉024986150
P粉024986150

全部回复 (1)
P粉242126786

如果您正在寻找安排工作,请查看

任务调度

基本上定义一些控制台(artisan)命令,然后在控制台内核文件中安排它们。调度程序使用 artisan 运行,建议每分钟运行一次命令(定义 cron 作业)。如果内核调度项定义与“php artisan Schedule:work”命令运行的分钟一致,那么您的作业将执行。

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!