Mengimport fail CSV besar menggunakan tugas cron dalam Laravel
P粉024986150
2023-09-02 20:12:27
<p>Saya menggunakan <strong>Laravel 8</strong> dan saya mahu <strong>mengemas kini berbilion harga produk</strong>. Saya menambah <strong>kod ini dan ia berfungsi dengan baik</strong> tetapi ia <strong>tidak cekap</strong> </p>
<pre class="brush:php;toolbar:false;">cuba {
$priceCsvs = PriceCsv::whereStatus(PriceCsv::PENDING)->get();
foreach ($priceCsvs sebagai $price) {
dump($price->name." dimulakan");
$csvData = fopen($price->file_url, 'r');
$firstline = benar;
manakala (($data = fgetcsv($csvData, 555, ',')) !== palsu) {
if (!$firstline && !empty($data)) {
dump($data);
}
$firstline = palsu;
}
fclose($csvData);
dump($price->name." is End");
}
} tangkapan (Pengecualian $ex) {
dump($ex->getMessage());
}</pre>
<p><em><strong>Inti utama ialah: </strong></em>Adakah terdapat cara untuk mendapatkan input daripada <strong>fail CSV</strong> fail<strong> Tambah tidur selepas 1000 kali</strong>Kaedah yang berkesan. </p>
Jika anda sedang mencari kerja penempatan, lihatlah
Penjadualan Tugas
Pada asasnya tentukan beberapa arahan konsol (artisan) dan kemudian jadualkannya dalam fail kernel konsol. Penjadual dijalankan menggunakan artisan dan disyorkan untuk menjalankan arahan (define cron job) setiap minit. Jika definisi jadual kernel konsisten dengan minit arahan "php artisan Schedule:work" dijalankan, maka tugas anda akan dilaksanakan.