当前位置: 首页 > news >正文

建站网页模板国外建站vps

建站网页模板,国外建站vps,糯米团网站怎么做,淘客网站做百度推广由于项目中在修改产品的同时要同步关联水单,删单#xff0c;客保 等等数据。所以不可能等待所有都执行完毕以后再给客户端反馈。所以自己用写了个队列。在这里晒出来代码#xff0c;以供大家参考。(项目中用到的是tp,所以在这里用tp作为演示) 思路 1#xff0c;需要用到队列…由于项目中在修改产品的同时要同步关联水单,删单客保 等等数据。所以不可能等待所有都执行完毕以后再给客户端反馈。所以自己用写了个队列。在这里晒出来代码以供大家参考。(项目中用到的是tp,所以在这里用tp作为演示) 思路 1需要用到队列则扔到queue表中。 2利用linux计划任务 * * * * * 每分钟去执行 CronMission方法在方法中控制执行频率 (分钟%5 则为每五分钟执行一次) 3利用 flock文件排它锁保证单线程执行避免重复执行 具体实现如下:   表 CREATE TABLE IF NOT EXISTS roav2_queue (   id int(10) NOT NULL AUTO_INCREMENT,  taskpath varchar(50) NOT NULL DEFAULT ,//任务路径  param text NOT NULL,//参数在这里使用serialize编译  status tinyint(4) NOT NULL DEFAULT 0,//状态0未执行1执行过  created_at datetime NOT NULL,  updated_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY (id),  KEY created_at (created_at) ) ENGINEInnoDB  DEFAULT CHARSETutf8 AUTO_INCREMENT1 ; 1获取队列   public function getQueueTask($limit 10){$map [status 0];$data $this-where($map)-order(id asc)-limit($limit)-select(); // var_dump(M()-getLastSql());die;return $data;}   2参数拼接   public function cmdHandle($phpCmd, $taskPath, $param) {$str ;if($param) {$params unserialize($param);foreach ($params as $k $v) {$str . / . $k . / . $v;}$taskPath . $str;}$res $phpCmd . $taskPath;return $res; }   3修改任务状态   public function changeTaskStatus($id, $status) {return save_r($this, [id $id], [status $status]); }   4执行队列   public function doQueue() {$phpCmd C(PHPCMD);$logPath C(CRON_LOG_PATH);$fp fopen(flock.txt, w);if (flock($fp, LOCK_EX|LOCK_NB))//使用文件排他锁保证单线程执行{$tasks $this-getQueueTask(10);foreach ($tasks as $v) {$job $this-cmdHandle($phpCmd, $v[taskpath], $v[param]);$job . . $logPath . doQueueMission . date(Y-m-d) . .log ;system($job);$this-changeTaskStatus($v[id], 1);}flock($fp, LOCK_UN);}fclose($fp); }   5添加任务   public function addTask($taskPath, $param) {if(empty($taskPath) || empty($param)) return 0;$data [taskpath $taskPath, param serialize($param),created_at date(Y-m-d H:i:s)];$res add_r($this, $data);if ($res) return 1;else return 0; }   6计划任务   public function cronMission() {$minute date(i);//5分钟执行一次if ($minute%5 0) {$this-model-doQueue();} } 这里主要是实现异步处理入队和出队解耦,单线程转载于:https://www.cnblogs.com/ngx171/p/8579359.html
http://www.huolong8.cn/news/272130/

相关文章:

  • 网站是公司域名是个人可以微网站套餐
  • 网站搜索优化价格婚恋网站要钱吗
  • 汽车网站开发流程深圳的网站建设公司流程
  • 如何开一家网站建设公司福州seo关键词排名
  • 网站建设是不是都需要交费网站建设 天猫 保证金
  • 佛山提供网站设计报价网络工程师需要考什么证书
  • 广州建设专业网站小兽wordpress主题
  • 免费中文网站模板下载add filters Wordpress
  • 湖州网站建设公司单页网站建设哪个品牌好
  • 1.电子商务网站建设的核心是( )一屏展示网站
  • 建设银行网站查询密码是什么上海企业网站模板
  • 国外的自建网站怎么做龙岗住房建设局网站
  • 长沙网站建设湘icp备网站备案号信息
  • 深圳市龙岗区住房和建设局官网网站无需代码制作app软件
  • 苏州网站建设需要多少钱展示空间在线设计平台
  • 如何在网上推广网站17做网店官网
  • windows 做网站服务器吗企业邮箱 腾讯
  • 模板网站建设教程免费手机网站建设
  • 科技网站新版网站上线产品策划推广方案
  • 网站单个页面301跳转建设实验室网站的意义
  • php做网站需要啥技术网站外链建设平台
  • 网站设计推广搭建一个网站大概需要多少钱
  • 闵行网站制作久久建筑网是山东省的吗
  • 网站开发用php还是python毕业答辩为什么做网站
  • 南宁较好的网站建设公司公众号开发中心
  • 万网怎么发布网站WordPress做分类信息平台
  • 百度收录什么网站网站空间流量6g
  • 网站开发笔记本地网站建设信息大全
  • wordpress 视频网站网站怎么做301定向
  • 网站建设规划书河北wordpress 插件代码