workerman初始化定时器,workerman重启定时器

介绍

业务中写的定时器,当遇到workerman异常,重启后会失效,所以想项目初始化时启动所有定时器,定时器写在配置文件中,这样业务每次重启时定时器也会随之生效

代码实现如下

 /***初始化* @author xingxiong.fei@163.com* @date 2020-09-03 9:43*/public function init($workerId){try {$log = Container::get('log',[Config::get('','log')]);$cache = Container::get('cache',[Config::get('','cache')]);Container::get('session',[Config::get('','session')]);//数据库初始化Db::setConfig(Config::get('','database'));Db::setCache($cache);Db::setLog($log);$workerId == 0 && $this->corn();} catch (\Exception $e) {Error::exception($e);}}
/**定时器* @author waxiongfeifei@gmail.com* @date 2020/12/29 下午6:06*/public function corn(){$filename = __DIR__ . DIRECTORY_SEPARATOR . '../config/corn.php';if (is_file($filename)) {include $filename;}}
$workerId == 0 && $this->corn(); 只在0号worker设置定时器,不然所有进程会重复执行

定时器配置文件corn.php

<?php
// +----------------------------------------------------------------------
// | 定时器设置
// +----------------------------------------------------------------------use Workerman\Lib\Timer;##定时器1
Timer::add(86400, function(){$studentClass = new \application\common\model\StudentClass();$res = $studentClass->countStudentNum();var_dump($res);
});##定时器2
Timer::add(86400, function(){$studentClass = new \application\common\model\StudentClass();$res = $studentClass->countStudentNum();
});

init在onWorkerStart回调中执行

class Events
{/*** 进程启动后初始化数据库连接*/public static function onWorkerStart($worker){// 执行应用并响应Container::get('app')->init($worker->id);//Redis初始化global $factory;$loop    = Worker::getEventLoop();$factory = new Factory($loop);}

workerman gatawayworker 定时器相关推荐

  1. php 超时支付取消订单,php利用workerman的定时器实现延时操作(订单支付不成功后一定时间未支付自动取消订单)...

    延时操作个人目前接触最多的场景是用户下单后一定时间未支付自动取消订单,传统的做法是采用定时任务定时扫描数据库超时订单或者利用客户端的请求每次请求去检测一次是否有超时订单,这些方法我始终感觉不是很好,所 ...

  2. GatewayWorker 与 Workerman的关系

    GatewayWorker 手册 http://doc2.workerman.net/ GatewayWorker基于Workerman开发的一个项目框架,用于快速开发TCP长连接应用,例如app推送 ...

  3. 积分消耗插件游戏 fastadmin TP5 TP6 workerman

    基于fastadmin开发了一个消耗积分的游戏插件,做完了,发现上不了应用市场,所以在这里给自己打个广告,有需求的加我微信吧332439180,有偿出售. 游戏名称:你追我赶 游戏规则:每轮游戏60秒 ...

  4. 2017年终总结,毕业和工作

    今年最大的两件事儿应该就是毕业和开始工作. 大学 高中开始php,然后上了农大的一个计算机专科,专业主修JAVA,然而没怎么上过课,醉心于在宿舍拍黄片.. 大一 加入学校计算机协会和电脑120,开始计 ...

  5. php实时通讯(GatewayWorker)使用入门教程

    GatewayWorker 使用入门教程(window+linux) 最近由于公司外包开发的需要,用了2天的时间研究了一下GatewayWorker.期间也查找了很多的资料,还花了50多买了一套视频教 ...

  6. php定时爬虫,thinkphp5使用workerman定时器定时爬取站点内容的代码

    本篇文章给大家分享的内容是关于thinkphp5使用workerman定时器定时爬取某站点新闻资讯等的内容,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. 1.首先通过 composer ...

  7. linux tab的含义,理解Linux中crontab定时器里的 21 含义 - 金牛座, 爬山虎, PHPCreeper, Workerman, Swoole, PHP爬虫引擎, PHP爬...

    在crontab定时器中有如下类似的脚本: 0 2 * * * php /data/test/test.php >/dev/null 2>&1 & 其中 > 代表重定 ...

  8. php worker类,Workerman进阶之Worker类-id属性研究

    Workerman进阶之Worker类->id属性研究 龙行    PHP    2019-5-20    1815    0评论 先来看看官方给的例子 如果id===0 设置定时器 use W ...

  9. php socket 心跳机制,socket学习纪录2: workerman 心跳功能实现

    心跳及作用 所谓心跳,就是客户端每隔一段时间向服务端发送一段任意的数据,证明客户端还在. 长连接应用必须加心跳,否则连接可能由于长时间未通讯被路由节点强行断开. 心跳作用主要有两个: 1.客户端定时给 ...

  10. php定时器使用,PHP定时器的说明

    这篇文章主要介绍了关于PHP定时器的说明,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 常见的定时器有两种:一种周期性定时执行,例如每天的凌晨三点出报表:另一种在指定时间后执行(一次) ...

最新文章

  1. chrome控制台如何把vw显示成px_chrome用不好,BUG改到老,这些chrome 浏览器使用技巧你需要掌握...
  2. httpservletrequest和requestbody是否可以同时使用_净水器超过三天没用,是否可以直接使用?...
  3. [云炬创业基础笔记]第二章创业者测试23
  4. SQL语句--INSERT INTO SELECT 语句用法示例
  5. windows server 2008R2下的mysql主从同步配置
  6. adb指令禁用软件_三星等安卓手机续航差?禁用部分系统组件后提升明显
  7. ue 清理缓存_【PM项目管理系统】PM安装更新客户端、删除UE及清理IE缓存操作手册...
  8. python实现并发判重_寻找python大神!!!python如何多线程并发?
  9. Flutter进阶—实现动画效果(七)
  10. php基础案例 购物车,php购物车实例(1/5)_PHP教程
  11. Android实现百度地图定位服务
  12. matlab调和均值滤波_MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数...
  13. 使用pyQt5 + agora + leanCloud实现基于学生疲劳检测的在线课堂
  14. 苹果画画软件_数位板可以连手机画画?有哪些好用的绘画APP?
  15. 理解Creating network “projectName_default” with the default driver
  16. android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
  17. 计算机组成原理运算器设计实验之8位可控加减法电路设计
  18. Word生成目录后,前面还有摘要,怎么样让页码从正文第一页开始
  19. 在Linux上搭建一个自己的网站
  20. 基于Node.js的3DTiles三维倾斜摄影模型爬虫

热门文章

  1. 大疆DJI2019届秋季招聘笔试:机器学习算法工程师
  2. 干货。单因素方差分析步骤梳理
  3. 好消息:GAX/GAT February 2008 Final Release
  4. 金融反欺诈常用特征处理方法
  5. 坚持#第303天~补起昨天的、顺便写今天的(昨天又在公司搞zabbix搞到了凌晨1点,结果搞忘了写博客),主要是zabbix监控
  6. 微信开发工具怎么模拟android环境,uni-app判断客户端环境是 安卓Android、iOS 、微信开发工具...
  7. 前端原生开发解决方案
  8. CVPR 历年 Best paper(1988-2020)汇总,持续更新~
  9. 用Bat文件创建桌面快捷方式
  10. 传感器技术-电容式传感器(学习笔记六)