Beanstalkd چیست؟
Beanstalkd یک سیستم صف پیام (Message Queue) سبک و سریع است که برای مدیریت کارهای پسزمینه (Background Jobs) استفاده میشود. مثلاً ارسال ایمیل انبوه، پردازش تصاویر یا اجرای تسکهای زمانبر بدون معطل کردن کاربر.
نصب در CentOS
روش ۱: از مخازن EPEL
yum install epel-release
yum install beanstalkd
استارت سرویس
systemctl start beanstalkd
systemctl enable beanstalkd
بررسی وضعیت
systemctl status beanstalkd
پیکربندی
فایل پیکربندی: /etc/sysconfig/beanstalkd
BEANSTALKD_ADDR=127.0.0.1
BEANSTALKD_PORT=11300
BEANSTALKD_BINLOG_DIR=/var/lib/beanstalkd
پورت پیشفرض 11300 است. برای امنیت، فقط روی localhost بایند کنید.
استفاده با PHP
// نصب کتابخانه
composer require pda/pheanstalk
// ارسال job
$pheanstalk = new Pheanstalk('127.0.0.1');
$pheanstalk->useTube('emails')->put(json_encode($data));
استفاده با لاراول
در .env:
QUEUE_CONNECTION=beanstalkd
BEANSTALKD_HOST=127.0.0.1
اگر سرور مجازی با root دارید، نصب Beanstalkd آسان است. کانفیگ سرور شامل نصب و تنظیم سرویسهای سرور.