Files
cunkebao_v3/Server/application/command/WechatChatroomCommand.php
2025-04-12 15:08:21 +08:00

60 lines
1.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\command;
use think\console\Command;
use think\console\Input;
use think\console\Output;
use think\facade\Log;
use think\Queue;
use app\job\WechatChatroomJob;
use think\facade\Cache;
class WechatChatroomCommand extends Command
{
protected function configure()
{
$this->setName('wechatChatroom:list')
->setDescription('获取微信聊天室列表,并根据分页自动处理下一页');
}
protected function execute(Input $input, Output $output)
{
$output->writeln('开始处理微信聊天室列表任务...');
try {
// 从缓存获取初始页码缓存10分钟有效
$pageIndex = Cache::get('chatroomPage', 0);
$output->writeln('从缓存获取页码:' . $pageIndex);
$pageSize = 100; // 每页获取100条记录
// 将任务添加到队列
$this->addToQueue($pageIndex, $pageSize);
$output->writeln('微信聊天室列表任务已添加到队列');
} catch (\Exception $e) {
Log::error('微信聊天室列表任务添加失败:' . $e->getMessage());
$output->writeln('微信聊天室列表任务添加失败:' . $e->getMessage());
return false;
}
return true;
}
/**
* 添加任务到队列
* @param int $pageIndex 页码
* @param int $pageSize 每页大小
*/
protected function addToQueue($pageIndex, $pageSize)
{
$data = [
'pageIndex' => $pageIndex,
'pageSize' => $pageSize
];
// 添加到队列,设置任务名为 wechat_chatroom
Queue::push(WechatChatroomJob::class, $data, 'wechat_chatroom');
}
}