Cron dan antrean

  • Diperbarui
  • 2 menit baca
  • Untuk operator sekolah
  • Waktu pengerjaan 5 menit

RingkasnyaPondok CMS hanya butuh satu cron yang menjalankan php artisan schedule:run setiap menit. Bila hosting mematikan proc_open, ganti dengan dua cron: queue:work setiap menit dan keuangan:generate-invoices setiap tanggal 1.

Daftar isi

Pondok CMS tidak menjalankan worker atau layanan latar yang terus hidup. Semua tugas terjadwal dipicu dari satu cron di cPanel.

Apa yang dikerjakan cron? Tautan ke bagian Apa yang dikerjakan cron?

Cron schedule:run setiap menit:

  • menjalankan antrean tugas, misalnya pengiriman email;
  • membuat tagihan bulanan setiap tanggal 1;
  • mencatat bahwa cron hidup, yang dibaca oleh pondok:doctor.

Bagaimana menambahkan cron? Tautan ke bagian Bagaimana menambahkan cron?

Di Cron Jobs cPanel, pilih “Once Per Minute”, lalu isi perintah:

TEXT
/opt/cpanel/ea-php83/root/usr/bin/php /home/akun/pondok/artisan schedule:run >> /dev/null 2>&1

Bagaimana memastikan path PHP 8.3? Tautan ke bagian Bagaimana memastikan path PHP 8.3?

PHP default untuk cron bisa berbeda dengan PHP situs. Selalu tulis path PHP 8.3 secara lengkap.

ServerPath PHP 8.3
Umumnya cPanel (EasyApache)/opt/cpanel/ea-php83/root/usr/bin/php
Sebagian server/usr/local/bin/ea-php83

Bila cron memakai PHP yang salah, log atau pondok:doctor akan menunjukkan pesan seperti Your Composer dependencies require a PHP version >= 8.3.

Apa yang dilakukan bila hosting mematikan proc_open? Tautan ke bagian Apa yang dilakukan bila hosting mematikan proc_open?

schedule:run menjalankan perintah lain lewat fungsi proc_open. Bila hosting mematikan fungsi ini, ganti satu cron di atas dengan dua cron terpisah:

TEXT
* * * * *  /opt/cpanel/ea-php83/root/usr/bin/php /home/akun/pondok/artisan queue:work --stop-when-empty --max-time=50 >> /dev/null 2>&1
0 1 1 * *  /opt/cpanel/ea-php83/root/usr/bin/php /home/akun/pondok/artisan keuangan:generate-invoices >> /dev/null 2>&1
CronJadwalFungsi
queue:work --stop-when-empty --max-time=50Setiap menitMemproses antrean, lalu berhenti saat kosong atau setelah 50 detik
keuangan:generate-invoicesTanggal 1 pukul 01.00Membuat tagihan bulanan untuk semua santri aktif

Di cPanel, isi kolom menit, jam, tanggal, bulan, dan hari sesuai lima nilai pertama, lalu tempel sisanya sebagai perintah.

Jangan pakai keduanya sekaligus

Gunakan satu cron schedule:run, atau dua cron pengganti. Jangan menjalankan keduanya bersamaan.

Bagaimana memeriksa cron berjalan? Tautan ke bagian Bagaimana memeriksa cron berjalan?

Jalankan php artisan pondok:doctor. Bila baris cron menampilkan peringatan, cron belum ditambahkan atau path PHP salah.

Langkah berikutnya Tautan ke bagian Langkah berikutnya

Perbaiki halaman ini di GitHub