61 lines
1.5 KiB
PHP
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;
|
|
}
|
|
}
|