Membuat Queue Worker agar Selalu Berjalan di Ubuntu

Artikel ini membahas cara membuat queue worker di Ubuntu yang selalu berjalan menggunakan Supervisor, agar aplikasi tetap berjalan tanpa gangguan.
Membuat Queue Worker agar Selalu Berjalan di Ubuntu

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.

Posting Komentar