在Debian系统中使用Laravel队列,你需要遵循以下步骤:
sudo apt-get update
sudo apt-get install laravel/installer
.env
文件中配置队列驱动。例如,如果你想使用Redis作为队列驱动,你需要安装Redis并配置.env
文件:QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
artisan
命令创建一个队列工作器。这将启动一个监听队列并处理任务的进程。php artisan queue:work
你可以使用--daemon
选项在后台运行队列工作器:
php artisan queue:work --daemon
dispatch
函数将任务添加到队列。例如:use App\Jobs\YourJob;
// ...
public function store(Request $request)
{
// ...
dispatch(new YourJob($data));
// ...
}
artisan
命令来监控队列的状态和进度。php artisan queue:status
config/queue.php
文件中设置'connections'
数组来实现。例如:'connections' => [
'redis' => [
// ...
'queue' => env('QUEUE_NAME', 'default'),
'retry_after' => 90,
'after_commit' => false,
'connections' => [
'redis',
],
'prefix' => env('QUEUE_PREFIX', Str::random(10)),
],
],
然后,在.env
文件中设置QUEUE_NAME
和QUEUE_PREFIX
环境变量。
sudo apt-get install supervisor
接下来,创建一个Supervisor配置文件,例如/etc/supervisor/conf.d/laravel-queue-worker.conf
,并添加以下内容:
[program:laravel-queue-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/your/laravel/project/artisan queue:work --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=your-user
numprocs=8
redirect_stderr=true
stdout_logfile=/path/to/your/laravel/project/storage/logs/worker.log
最后,运行sudo supervisorctl reread
和sudo supervisorctl update
命令来启动Supervisor并管理队列工作器。
现在,你已经在Debian系统中成功设置了Laravel队列。你可以根据需要调整队列工作器的数量和其他配置。