خانه خدمات ما حساب کاربری
1 روز پیش
ارما

آموزش نصب سوپروایزر در AlmaLinux و اجرای جاب های لاراول (Laravel Queue)

در این مقاله چه میخوانیم?

اگه پروژه ات با لاراول ساخته شده و از Queue یا همون صف ها استفاده میکنی، حتماً لازمه یه ابزار حرفهای برای مدیریت اونها داشته باشی. یکی از بهترین ابزارا برای این کار، سوپروایزر (Supervisor) هست. تو این مقاله قراره خیلی ساده و کاربردی یاد بگیری که چجوری سوپروایزر رو توی AlmaLinux نصب کنی و job های لاراولت رو همیشه در حال اجرا نگه داری.

سوپروایزر چیه و چرا باید نصبش کنیم؟

سوپروایزر یه برنامه لینوکسیه که کمک میکنه یه سری دستورات یا برنامه ها رو به صورت دائمی و پایدار توی پسزمینه اجرا کنیم.
برای مثال، اگه توی پروژهت این دستور اجرا نشه:

php artisan queue:work
 

هیچ کدوم از صفها اجرا نمیشن. نه ایمیلی میره، نه پیامکی، نه کارهای زمان بندی شده انجام میشن. خلاصه پروژهت ناقص میمونه!
سوپروایزر میاد این دستور رو میچسبه و همیشه اجرا نگهش میداره.

مرحله به مرحله نصب سوپروایزر در AlmaLinux

1. وارد سرور شو (از طریق SSH)

اگه WHM یا ترمینال داری، با دسترسی root یا sudo وارد SSH شو:


ssh your-user@your-server-ip
 

2. نصب EPEL (مخزن لازم برای نصب Supervisor)


sudo dnf install epel-release -y

3. نصب Supervisor در لینوکس


sudo dnf install supervisor -y

4. فعالسازی و استارت سرویس سوپروایزر


sudo systemctl enable supervisord
sudo systemctl start supervisord
 

تست نصب سوپر وایزر


sudo systemctl status supervisord
 

پیکربندی supervisord برای لاراول

فایلهای کانفیگ سوپروایزر داخل این مسیر هستن میتونی با دستور nano ادیت کنی.


/etc/supervisord.d/
 

ساخت فایل مخصوص پروژه لاراول


sudo nano /etc/supervisord.d/laravel-worker.ini
 

و محتوای زیر رو توش بنویس:


[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/your-user/your-project/artisan queue:work --sleep=3 --tries=3 --timeout=90
autostart=true
autorestart=true
user=your-user
numprocs=1
redirect_stderr=true
stdout_logfile=/home/your-user/your-project/storage/logs/laravel-worker.log
stopwaitsecs=3600
 

 توجه: حتما مسیر پروژه و یوزر رو بهجای `your-user` و `your-project` درست بنویس.

 

۵. ریست کردن تنظیمات جدید


sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:

بررسی وضعیت اجرای queue لاراول

برای دیدن وضعیت اجرای جابها:


sudo supervisorctl status
 

اگه همهچی اوکی باشه، باید یه چیزی مثل این ببینی:

laravel-worker:laravel-worker_00   RUNNING   pid 12345, uptime 0:00:45
 

اجرای دائمی job در Laravel با سوپروایزر

اینجوری دیگه لازم نیست هربار دستی دستور `php artisan queue:work` رو اجرا کنی. سوپروایزر خودش همیشه مراقبه که queueها اجرا باشن. هر وقت سرور ریاستارت بشه یا به هر دلیلی پروسه از کار بیفته، خودش دوباره راهاندازیش میکنه.

اجرای background task در Laravel یعنی چی؟

توی لاراول وقتی یه کار (مثل ارسال ایمیل، فاکتور، پردازش فایل و...) رو با delay یا صف اجرا میکنی، بهش میگن background task. یعنی کاربر لازم نیست منتظر بمونه، ولی پشت صحنه اون کار انجام میشه.

با نصب سوپروایزر، این background task ها همیشه فعال هستن و بدون نیاز به دخالت دستی انجام میشن.

نکات حرفهای و مهم

برای دیدن لاگ جابها:


tail -f /home/your-user/your-project/storage/logs/laravel-worker.log
 

اگه کد تغییر کرد، حتماً دستور ری استارت بزن:


sudo supervisorctl restart laravel-worker:
 

برای اجرای چند worker موازی، میتونی `numprocs=1` رو بذاری روی 2 یا بیشتر.

پس

اگه میخوای پروژه لاراولت بدون دردسر، همیشه آماده باشه و کارای پشتصحنه بهدرستی انجام بشن، نصب و پیکربندی Supervisor در AlmaLinux یکی از واجبترین کارهاست.
با این آموزش، دیگه خیالت راحت باشه که جابهات، صفهات و حتی background taskهای لاراول، بهصورت دائمی و اتوماتیک در حال اجرا هستن.

 

قطعا تو ذهنت سوال داری

چرا زنگ نمیزنی که برات حلش کنیم؟

اینجا میتونه شروع راه تو باشه

تماس با پشتیبان

درباره باریز

در باریز، ما فراتر از یک تیم طراحی سایت و سئو هستیم؛ ما یک خانواده از خلاقان و متخصصان دیجیتال هستیم که با ترکیب هنر و تکنولوژی، کسب‌وکارها را به سطح جدیدی می‌بریم.
هدف ما ساخت تجربه‌های دیجیتال منحصر به فرد است که نه فقط زیبا، بلکه تأثیرگذار و نتیجه‌بخش باشند.

تماس با ما

info@bariz.tech

© Copyright 2024 - bariz. All Right Reserved

پشتیبان شماره 2

آنلاین

پیامی برای نمایش وجود ندارد