php计划任务方法(后台运行无刷新)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
//计划任务批量刷新房源
public function allRefresh(){
$houseDb =D( "House" );
$data = $houseDb ->get_list();
//dump($data);
}
下面的为model里的数据处理,上面的为控制器部分
//查询所有数据
public function getAll( $where , $page = 1, $page_num = 10){
$houseDb =D( "House" );
$data = $this ->where( $where )->limit(( $page - 1) * $page_num , $page_num )->select();
return $data ;
}
//查询所有数据总数
public function get_list(){
$where [ 'isDel' ] = '0' ;
$where [ 'status' ] = '2' ;
$where [ 'auditstatus' ] = '1' ; //已审核
$where [ 'salestatus' ] = '0' ; //在售
$houseDb =D( "House" );
$totalCount = $houseDb ->where( $where )-> count ();
$totalpage = ceil ( $totalCount /10);
for ( $nowPage =1; $nowPage <= $totalpage ; $nowPage ++){
$list = $houseDb ->getAll( $where , $nowPage ,10);
// print_r($houseDb->getLastSql()) ;
$this ->refreshData( $list );
}
}
//批量刷新房源的停留时间和计算
public function refreshData( $list ){
// echo '111';
foreach ( $list as $key => $value ){
//计算出来停留时间
$data = array ();
$where [ 'esfId' ]= $value [ 'esfId' ];
$data [ 'stayTime' ]=( $value [ 'publishScore' ]* $value [ 'houseRatio' ])/100*3600+ $value [ 'verifyTime' ];
$houseRatio = $this ->where( $where )->save( $data ); //更新房源系数
//首页排序数量
$data = array ();
$where = array ();
//计算上周经济人日均发房源数量
$map [ 'esfId' ]= $value [ 'esfId' ];
$start = mktime (0,0,0, date ( 'm' ), date ( 'd' )- date ( 'w' )+1-7, date ( 'Y' )); //上周起时间
$end = mktime (23,59,59, date ( 'm' ), date ( 'd' )- date ( 'w' )+7-7, date ( 'Y' )); //上周结束时间
$map [ 'verifyTime' ]= array (between, array ( $start , $end ));
$count = $this ->where( $map )-> count (); //得到上周总发房源总数
$where = array ();
$data = array ();
$where [ 'esfId' ]= $value [ 'esfId' ];
if ( $count ){
$indexNum = $count /6; //日均发房源数量
}
$data [ 'indexNum' ]= intval ( $indexNum ); //日均数量
$stayTime = $this ->where( $where )->save( $data ); //更新房源停留时间
//echo $this->getLastSql();die;
}
}
|
php计划任务方法(后台运行无刷新)相关推荐
- Win7的任务计划怎么是后台运行的,怎么设置能让任务前台运行?
copy from http://bbs.ithome.com/thread-338778-1-1.html Win7的任务计划怎么是后台运行的,怎么设置能让任务前台运行? 例如我创建了一个定时打开指 ...
- linux后台停止执行命令,Linux 命令的后台运行
先来写一个需要一直运行的程序,比如 Flask 版的 Hello World $ vi hello.py from flask import Flask app = Flask(__name__) @ ...
- tmux命令启动MySQL_程序后台运行的几种方法
默认情况下,我们自己写的程序在运行时候会把当前 shell 给占据了,这时候想要在执行其他命令比较笨的方法就是再登陆一次创建一个会话:还有时候我们希望程序退出后能继续运行,像 mysql 那样. 下面 ...
- Linux 后台运行程序方法总结
在用服务器跑数据的时候经常会遇到数据量大,速度慢的情况,动不动需要用好几天甚至上十天,但电脑总不能好几天不关终端,且保证不断网吧.所以这时候我们就需要将程序放到后台运行,不依赖于终端.关于原理,我 ...
- php在苹果手机上传不了图片大小,ThinkPHP后台上传图片无默认尺寸解决方法
原标题:ThinkPHP后台上传图片无默认尺寸解决方法 随着网站移动端的日益普及,对后台数据的兼容性要求也越来越高.后台数据涵盖范围不断扩大的同时,使得程序处理能力也必须逐步提高. 使用ThinkPH ...
- 关于C#winform程序运行无异常,在生成安装文件安装后提示水晶报表加载失败,系统找不到指定的路径的解决方法...
关于C#winform程序运行无异常,在生成安装文件安装后提示"水晶报表加载失败,系统找不到指定的路径"的解决方法 娘了个腿的!搞了好几天,百度都被我搜烂了,连发布相关内容的作者名 ...
- tp5 分页php不能foreach,tp5框架无刷新分页实现方法分析
本文实例讲述了tp5框架无刷新分页实现方法.分享给大家供大家参考,具体如下: 已tp5 分页为例, 1.默认生成的分页 页码如下: « 1 2 » 2.点击页码 值,跳转到对应的页面,并get传 p ...
- Ajax+asp.net无刷新验证用户名的几种方法
Ajax+asp.net无刷新验证用户名 注册用户页面代码如下 <script language="javascript" type="text/javascrip ...
- linux程序已经在后台运行冻结了_linux 让程序在后台运行的几种可靠方法
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...
最新文章
- (转)WinForm控件使用文章收藏整理完成
- cxgrid中纵横单元格合并_被合并单元格折磨疯的我,真后悔没早点知道这个Excel技巧!...
- 机器人(机械臂)动力学建模方法(Newton-Euler equation)
- Petya and Exam
- hybris backoffice 产品属性和sample data的对应关系
- python 下的数据结构与算法---6:6大排序算法
- 高效安全存储之选 佰维A3系列240G固态硬盘试用手记
- RedisTemplate 数据结构 使用方法
- 加密-网络安全之1号皇帝新衣
- JAVA多用户商城系统源码
- 计组头哥实验 第1关 8位可控加减法电路设计
- vtk 的vtkimagereslice实现三视图的显示
- 自动化测试工具 Selenium WebDriver 入门教程
- 人脸识别之insightface开源代码使用——自定义数据集制作
- Linux中如何安装特定的gcc版本
- 1 5 php,直接可以拿来用的PHP惯用功能代码片段(1~5)
- 用Canvas为网页添加动态背景
- API工具栏教你如何采集淘宝拼多多商品详情数据
- 储存过程的优点?缺点?
- Windows-tree命令生成目录树