【触客宝】 队列优化

This commit is contained in:
wong
2025-04-25 16:30:48 +08:00
parent dbc94e4823
commit 6904d0bfd3
5 changed files with 23 additions and 23 deletions

View File

@@ -78,7 +78,7 @@ class DeviceListJob
if ($hasNextPage) {
// 缓存页码信息设置有效期1天
$nextPageIndex = $pageIndex + 1;
Cache::set($cacheKey, $nextPageIndex, 86400);
Cache::set($cacheKey, $nextPageIndex, 600);
Log::info("更新缓存页码: {$nextPageIndex}, 缓存键: {$cacheKey}");
// 添加下一页任务到队列
@@ -87,7 +87,7 @@ class DeviceListJob
Log::info("已添加下一页任务到队列: 页码 {$nextPageIndex}");
} else {
// 处理完所有页面,重置页码并释放队列锁
Cache::set($cacheKey, 0, 86400);
Cache::set($cacheKey, 0, 600);
Cache::rm($queueLockKey);
Log::info("所有设备列表页面处理完毕重置页码为0释放队列锁: {$queueLockKey}");
}

View File

@@ -82,9 +82,9 @@ class FriendTaskJob
$data = $response['data'];
// 判断是否有下一页
if (!empty($data) && count($data['results']) > 0) {
if (!empty($data) && count($data['results']) > 0 && $pageIndex < 2) {
// 更新缓存中的页码设置10分钟过期
Cache::set('friendTaskPage', $pageIndex + 1, 86400);
Cache::set('friendTaskPage', $pageIndex + 1, 600);
Log::info('更新缓存,下一页页码:' . ($pageIndex + 1) . '缓存时间10分钟');
// 有下一页,将下一页任务添加到队列
@@ -93,7 +93,7 @@ class FriendTaskJob
Log::info('添加下一页任务到队列,页码:' . $nextPageIndex);
} else {
// 没有下一页重置缓存设置10分钟过期
Cache::set('friendTaskPage', 0, 86400);
Cache::set('friendTaskPage', 0, 600);
Log::info('获取完成重置缓存缓存时间10分钟');
}

View File

@@ -107,7 +107,7 @@ class GroupFriendsJob
// 判断是否有下一页
if ($processedCount < $totalCount) {
// 更新缓存中的页码,设置一天过期
Cache::set('groupFriendsPage', $pageIndex + 1, 86400);
Cache::set('groupFriendsPage', $pageIndex + 1, 600);
//Log::info('更新缓存,下一页页码:' . ($pageIndex + 1) . '缓存时间1天');
// 有下一页,将下一页任务添加到队列
@@ -116,7 +116,7 @@ class GroupFriendsJob
Log::info('添加下一页任务到队列,页码:' . $nextPageIndex);
} else {
// 没有下一页,重置缓存,设置一天过期
Cache::set('groupFriendsPage', 0, 86400);
Cache::set('groupFriendsPage', 0, 600);
Log::info('获取完成重置缓存缓存时间1天');
}

View File

@@ -6,7 +6,7 @@ use app\command\WechatChatroomCommand;
use think\facade\Log;
use think\facade\Cache;
use think\Queue;
use app\common\BusinessLogic;
use app\api\controller\WechatChatroomController;
class WechatChatroomJob
{
@@ -49,14 +49,14 @@ class WechatChatroomJob
}
// 调用业务逻辑获取微信聊天室列表
$logic = new BusinessLogic();
$result = $logic->wechatChatroomList($pageIndex, $pageSize, $isDel);
if ($result['code'] == 1) {
$dataCount = count($result['data']['list']);
$totalCount = $result['data']['total'];
Log::info("微信聊天室列表获取成功,当前页:{$pageIndex},获取数量:{$dataCount},总数量:{$totalCount}");
$logic = new WechatChatroomController();
$result = $logic->getlist(['pageIndex' => $pageIndex, 'pageSize' => $pageSize],true, $isDel);
$response = json_decode($result, true);
$data = $response['data'];
// 判断是否有下一页
if (!empty($data) && count($data['results']) > 0 && empty($response['isUpdate'])) {
$dataCount = count($data['results']);
$totalCount = $data['total'];
// 计算是否还有下一页
$hasNextPage = ($pageIndex + 1) * $pageSize < $totalCount;
@@ -64,7 +64,7 @@ class WechatChatroomJob
if ($hasNextPage) {
// 缓存页码信息设置有效期1天
$nextPageIndex = $pageIndex + 1;
Cache::set($cacheKey, $nextPageIndex, 86400);
Cache::set($cacheKey, $nextPageIndex, 600);
Log::info("更新缓存页码: {$nextPageIndex}, 缓存键: {$cacheKey}");
// 添加下一页任务到队列
@@ -73,13 +73,13 @@ class WechatChatroomJob
Log::info("已添加下一页任务到队列: 页码 {$nextPageIndex}");
} else {
// 处理完所有页面,重置页码并释放队列锁
Cache::set($cacheKey, 0, 86400);
Cache::set($cacheKey, 0, 600);
Cache::rm($queueLockKey);
Log::info("所有微信聊天室列表页面处理完毕重置页码为0释放队列锁: {$queueLockKey}");
}
} else {
// API调用出错记录错误并释放队列锁
Log::error("微信聊天室列表获取失败: " . $result['msg']);
Log::error("微信聊天室列表获取失败: " . $response['msg']);
Cache::rm($queueLockKey);
Log::info("由于错误释放队列锁: {$queueLockKey}");
}

View File

@@ -87,8 +87,8 @@ class WechatFriendJob
// 更新缓存中的页码和最后一个好友ID设置1天过期
$nextPageIndex = $pageIndex + 1;
Cache::set($pageIndexCacheKey, $nextPageIndex, 86400);
Cache::set($preFriendIdCacheKey, $lastFriendId, 86400);
Cache::set($pageIndexCacheKey, $nextPageIndex, 600);
Cache::set($preFriendIdCacheKey, $lastFriendId, 600);
Log::info("更新缓存,下一页页码:{$nextPageIndex}最后好友ID{$lastFriendId},缓存键: {$pageIndexCacheKey}, {$preFriendIdCacheKey}");
@@ -98,8 +98,8 @@ class WechatFriendJob
Log::info("已添加下一页任务到队列: 页码 {$nextPageIndex}");
} else {
// 没有下一页,重置缓存并释放队列锁
Cache::set($pageIndexCacheKey, 0, 86400);
Cache::set($preFriendIdCacheKey, '', 86400);
Cache::set($pageIndexCacheKey, 0, 600);
Cache::set($preFriendIdCacheKey, '', 600);
Cache::rm($queueLockKey);
Log::info("所有微信好友列表页面处理完毕重置页码为0释放队列锁: {$queueLockKey}");
}