在 Laravel 中使用 cron 作业导入大型 CSV 文件
P粉024986150
P粉024986150 2023-09-02 20:12:27
[MySQL讨论组]
<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)-&gt;get(); foreach ($priceCsvs as $price) { dump($price-&gt;name.&quot; is started&quot;); $csvData = fopen($price-&gt;file_url, 'r'); $firstline = true; while (($data = fgetcsv($csvData, 555, ',')) !== false) { if (!$firstline &amp;&amp; !empty($data)) { dump($data); } $firstline = false; } fclose($csvData); dump($price-&gt;name.&quot; is End&quot;); } } catch (\Exception $ex) { dump($ex-&gt;getMessage()); }</pre> <p><em><strong>要点是:</strong></em>有没有办法从 <strong>CSV 文件</strong>或任何其他文件<strong>在输入 1000 次后添加睡眠</strong>有效的方法。</p>
P粉024986150
P粉024986150

全部回复(1)
P粉242126786

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

任务调度

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号