Tugas berjadual Laravel perlu menggunakan cron; jika anda mahu melaksanakan semua tugas laravel secara kerap dalam laravel, anda perlu menambah entri cron pada pelayan dan menambah "jadual projek phppath/artisan:run... " Kod itu cukup.
Persekitaran pengendalian artikel ini: sistem linux7.3, Laravel versi 5.4, komputer Dell G3.
Laravel mempunyai fungsi yang sangat berkuasa Anda hanya perlu menambah entri cron pada pelayan untuk melaksanakan semua tugasan laravel dengan kerap.
Sekarang kita mempunyai jadual data berikut:
Saya mahu nilai medan cron dalam jadual cron meningkat sebanyak 1 setiap minit , maka saya perlu seperti berikut Langkah:
1 Tulis kod laravel dalam AppConsoleKernel.php
protected function schedule(Schedule $schedule) { $schedule->call(function () { DB::table('cron')->increment('cron'); })->everyMinute(); }
2. Tambah kod dalam fail /var/spool/cron/root perkhidmatan
Nota: Sebaik-baiknya gunakan editor vim untuk mengedit fail di sini Jika anda menggunakan winscp untuk mengedit fail, akan ada masalah untuk tidak melaksanakan tugas.
Masukkan
crontab -e
pada baris arahan dan tambah kod berikut
* * * * * /usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1
Enter
crontab -u root -l
Tidak perlu memulakan semula perkhidmatan cron kerana sistem akan membaca fail dalam direktori /var/spool/cron setiap minit.
Jika anda mendapati ia masih tidak boleh dilaksanakan mengikut konfigurasi berikut, anda boleh menggunakan kaedah berikut untuk menyelesaikan masalah:
Semak sama ada arahan menggunakan laluan mutlak, contohnya, gunakan /usr/local/php/bin/ di sini php bukannya php, gunakan /data/wwwroot/test/artisan dan bukannya artisan.
Jika laluan mutlak digunakan dan ia masih tidak dilaksanakan, maka terus masukkan /usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> baris arahan /null 2>&1, lihat jika ia dilaksanakan jika ia tidak dilaksanakan, ia adalah masalah dengan kod laravel Jika ia dilaksanakan, ia bermakna ia adalah masalah pembolehubah persekitaran. Jika anda tidak tahu di mana php berada, masukkan php pada baris arahan, anda akan digesa di mana php dipasang.
[Cadangan berkaitan: tutorial video laravel]
Atas ialah kandungan terperinci Adakah tugas berjadual laravel perlu menggunakan cron?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!