Commit c7df24ca authored by liuyuzhen's avatar liuyuzhen

会员IP更新定时器

parent f966639e
......@@ -1125,6 +1125,22 @@ class MemberServiceModel extends \Business\AbstractModel
}
public function updateMemberAreaInfo(){
$currentTime = TIMESTAMP;
$startTime = $currentTime-\Our\ApiConst::oneDaySecond;
if($currentTime<1545235200){
$startTime =0;
}
$whereSql = \Our\Common::format("member_provinceid = '0' and member_cityid = '0' and register_ip !='' and (member_time between '{0}' and '{1}') ",$startTime,$currentTime);
$memberDao = \DAO\MemberModel::getInstance();
$memberList = $memberDao->getList($whereSql,'member_id,register_ip');
if($memberList){
foreach($memberList as $member){
$ip = $member['register_ip'];
$updateData = \Area\AreaUtil::getInstance()->getIpCityInfo($ip);
$memberDao->saveInfo($updateData,$member['member_id']);
}
}
}
}
......@@ -106,10 +106,10 @@ elastic.master.scheme="http";
password.key='~!@#$`1234qwertasdfgzxcvb';
; 生 产环境配置
[pre : common]
[lyztest : common]
; 数据库配置
resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "127.0.0.1"
resources.database.params.hostname = "106.14.14.233"
resources.database.params.port = 3306
resources.database.params.database = "qmcs"
resources.database.params.username = "root"
......@@ -120,7 +120,7 @@ resources.database.params.driver_options.1002 = "SET NAMES utf8"
; 从库配置
resources.database.slave.params.driver = "pdo_mysql"
resources.database.slave.params.hostname = "127.0.0.1"
resources.database.slave.params.hostname = "106.14.14.233"
resources.database.slave.params.port = 3306
resources.database.slave.params.database = "qmcs"
resources.database.slave.params.username = "root"
......@@ -140,7 +140,7 @@ resources.database.drawSource.params.driver_options.1002 = "SET NAMES utf8"
; mongodb
resources.database.mongo.params.driver = "scram"
resources.database.mongo.params.hostname = "127.0.0.1"
resources.database.mongo.params.hostname = "106.14.14.233"
resources.database.mongo.params.port = 27017
resources.database.mongo.params.database = "qmcs"
resources.database.mongo.params.username = "qmcs"
......@@ -399,7 +399,7 @@ elastic.master.host="192.168.1.201"
elastic.master.port="9200"
elastic.master.scheme="http";
[lyztest : common]
[lyztest1 : common]
; 数据库配置
resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "127.0.0.1"
......
<?php
/**
* User: liuyuzhen
* Date: 2018/12/17
* Time: 14:25
* Description:
*/
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级
require APPLICATION_PATH . '/scripts/crontab/baseCli.php';
require APPLICATION_PATH . '/scripts/crontab/common.php';
error_reporting(E_ALL ^ E_NOTICE);
class cliUpdateMemberAreaInfo extends basecli
{
const CLI_ADMIN_ID = 255;
private $bDoUnLock = FALSE; // 是否允许释放 LOCK 文件
private $_debug = 0;
private $lockFileName;
private $fromState;
private function mkdirs($dir, $mode = 0777)
{
if (is_dir($dir) || @mkdir($dir, $mode)){
return TRUE;
}
if (!$this->mkdirs(dirname($dir), $mode)){
return FALSE;
}
return @mkdir($dir, $mode);
}
/**
* 析构
*/
public function __destruct()
{
parent::__destruct();
if ($this->bDoUnLock)
{
@unlink($this->lockFileName);
}
}
protected function updateMemberAreaInfo(){
\Business\User\MemberServiceModel::getInstance()->updateMemberAreaInfo();
}
protected function _runCli()
{
$this->_debug = isset($this->aArgv[1]) ? intval($this->aArgv[1]) : 0;
if ($this->_debug)
{
echo "*** Debug mode ***\n";
}
// Step: 02 检查是否已有相同CLI在运行中
$lockDir=$this->_getBaseFileName('updateMemberAreaInfo');
if(!$this->mkdirs($lockDir)){
echo '****create dir fail ****';
exit;
}
$this->lockFileName = $lockDir .'.locks';
if( file_exists( $this->lockFileName ) )
{
$stat = stat($this->lockFileName);
if( (TIMESTAMP - $stat['mtime']) > 24*60*60*2 )
{
echo "文件被锁超过2天,被强制删除";
@unlink($this->lockFileName);
}
else
{
$this->halt( '[' . date('Y-m-d H:i:s') .'] The CLI is running'."\n");
}
}
$this->bDoUnLock = true;
file_put_contents($this->lockFileName ,"running" ); // CLI 独占锁
$this->updateMemberAreaInfo();
echo '会员IP更新成功'."\r\n";
}
}
$oCli = new cliUpdateMemberAreaInfo(TRUE);
EXIT;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment