
Install Supervisor
Pertama, Anda perlu menginstal Supervisor di server Ubuntu Anda. Supervisor adalah tool yang digunakan untuk mengelola dan memantau proses yang berjalan di background. Untuk menginstalnya, jalankan perintah berikut.
sudo apt update
sudo apt install supervisor
sudo systemctl enable supervisor
Konfigurasi Supervisor
Setelah Supervisor terinstal, Anda perlu membuat file konfigurasi untuk queue worker Anda. Misalnya, jika Anda menggunakan Laravel, queue worker biasanya dijalankan dengan perintah.
php artisan queue:work
Untuk membuat Supervisor mengelola proses ini, buat file konfigurasi baru di direktori /etc/supervisor/conf.d/
. Misalnya, buat file dengan nama laravel-queue.conf
.
sudo nano /etc/supervisor/conf.d/laravel-queue.conf
Isi file konfigurasi tersebut dengan pengaturan berikut.
[program:laravel-queue]
process_name=%(program_name)s_%(process_num)02d
command=php /laravel/project/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/laravel/project/storage/logs/worker.log
stopwaitsecs=3600
➔ Gantilah /laravel/project
dengan path lengkap ke direktori proyek Laravel Anda.
➔ autostart=true
memastikan queue worker dimulai saat Supervisor dijalankan.
➔ autorestart=true
memastikan queue worker dimulai ulang jika terjadi crash.
Update Supervisor
Setelah konfigurasi selesai, update Supervisor dan mulai proses queue worker dengan perintah berikut.
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-queue
Perintah pertama membaca ulang konfigurasi Supervisor, perintah kedua memperbarui Supervisor, dan perintah ketiga memulai queue worker.
Memantau Status Worker
Jika semuanya berjalan dengan baik, Anda akan melihat bahwa queue worker Anda aktif dan berjalan. Anda bisa menggunakan perintah.
sudo supervisorctl status
Anda akan melihat output seperti ini.
laravel-worker:laravel-queue_00 RUNNING pid 12345, uptime 0:02:35
Jika perlu menghentikan, memulai ulang, atau melihat log worker, gunakan perintah berikut.
sudo supervisorctl restart laravel-worker:*
Lihat Log Worker dengann membuka buka file log.
tail -f /laravel/project/storage/logs/worker.log
Gantilah /laravel/project
dengan path lengkap ke direktori proyek Laravel Anda.