laravel 队列queue 学习
使用场景:做用户中心需要和java对接订单数据,收到订单数据之后要做很多业务逻辑处理,包括请求高德接口获取省市区县的数据,期间会消耗很多时间去处理,所以为了避免这种情况,我想到了之前利用tp5试验过的消息队列的方式,于是有了这篇文章。
1.laravel .env文件配置
QUEUE_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
2.生成
php artisan make:job SendReminderEmail
3.处理
public function handle()
{
$redis = app('redis.connection');
$redis->select(4);
$i = 1; while ($value = $redis->lpop('fooList')){
$data['uid'] = 1;
$data['value'] = $value;
$data['time'] = time();
DB::connection('mysql_api')->table('test_redis')->insert($data);
if($i > 20){ echo 'end '.date('Y-m-d H:i:s').PHP_EOL; break; }
$i++;
}
}
4.模拟数据
$redis = app('redis.connection');
$redis->select(4); for ($i=0;$ilpush('fooList', 'bar'.$i);
}
5.开启服务
6.OK
0 评论
评论
登录后即可评论 去登录