Files
2025-10-16 15:47:43 +08:00

61 lines
1.5 KiB
PHP

<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Visit_log_model extends HD_Model
{
private $table_name = 'lc_visit_log';
const QUEUE_NAME = 'visit:log'; // 队列名称
public function __construct()
{
parent::__construct($this->table_name, 'default');
}
/**
* 添加数据到队列
* @param $data
* @return false
*/
public function addDataPushQueue($data)
{
if (!$data) {
return false;
}
$redis = load_cache();
return $redis->push(self::QUEUE_NAME, $data);
}
/**
* 出队列
* @param $limit
* @return false|mixed
*/
public function popQueue($limit = 50)
{
$redis = load_cache();
$i = 0;
$addData = [];
for ($i; $i < $limit; $i++) {
$data = $redis->pop(self::QUEUE_NAME, $limit);
if (!$data) {
break;
}
$addData[] = [
'uid' => $data->uid ?: 0,
'taskName' => $data->taskName ?: '',
'params' => $data->params ? $data->params : json_encode([]),
'url' => $data->url ?: '',
'ip' => $data->ip ?: '',
'day' => $data->day ?: date('Y-m-d'),
'createTime' => $data->createTime ?: time(),
];
}
if ($addData) {
$req = $this->add_batch($addData);
return $req;
}
return false;
}
}