博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Workerman-文件监控-牛刀小试
阅读量:5167 次
发布时间:2019-06-13

本文共 1403 字,大约阅读时间需要 4 分钟。

今天学习了workerman , 初次体验了定时器的效果,结合文档。弄了个文件监控。

好了 废话不多说 直接上代码

1 use Workerman\Worker; 2 require_once __DIR__ . '/Workerman/Autoloader.php'; 3 $monitor_dir = realpath(__DIR__.'/..'); 4 $worker = new Worker(); 5 $worker->name = 'FileMonitor'; 6 $worker->reloadable = false; 7 $last_mtime = time(); 8 $worker->onWorkerStart = function ($task) { 9      global $monitor_dir;10     //每隔2.5 秒 执行一次11     $time_interval = 2.5;12     \Workerman\Lib\Timer::add($time_interval,"check_files_change",array($monitor_dir));13 };14 Worker::runAll();15 16 /**17  * 定时执行函数18  */19 function check_files_change($monitor_dir) {20     global $last_mtime;21 22     // spl 迭代器 php > 5.5 以上 链接 http://php.net/manual/zh/class.recursivedirectoryiterator.php23     $dir_iterator = new RecursiveDirectoryIterator($monitor_dir);24     $iterator = new RecursiveIteratorIterator($dir_iterator);25     foreach ($iterator as $file) {26         // 只对 后缀为php 的文件监控27         if(pathinfo($file, PATHINFO_EXTENSION) != 'php') {28             continue;29         }30 31         // 当前时间和文件最后一次更新文件 比较32         if($last_mtime < $file->getMTime()) {33             echo $file." update and reload\n";34             //windows 必须屏蔽这行代码 不然报错35            // posix_kill(posix_getppid(), SIGUSR1);36             $last_mtime = $file->getMTime();37             break;38         }39     }40 }

 

运行:在目录里面新建或添加文字

 

转载于:https://www.cnblogs.com/phpnan/p/6233879.html

你可能感兴趣的文章
HDU 2262 回溯算法 递归枚举
查看>>
九度0J 1374 所有员工年龄排序
查看>>
微信小程序图片使用示例
查看>>
Ubuntu16.04+cuda8.0rc+opencv3.1.0+caffe+Theano+torch7搭建教程
查看>>
GitHub 优秀的 Android 开源项目
查看>>
CentOS 网络设置修改
查看>>
二分图
查看>>
python小白-day5 random模块
查看>>
Git Tips
查看>>
2019春第一次课程设计报告
查看>>
msp430项目编程13
查看>>
用Python3实现的Mycin专家系统简单实例
查看>>
TortoiseSVN tutorial
查看>>
poj-2376 Cleaning Shifts (排序+贪心)
查看>>
在Android中自定义捕获Application全局异常,可以替换掉系统的强制退出对话框(很有参考价值与实用价值)...
查看>>
1.开发准备
查看>>
centos su命令
查看>>
CLR:基元类型、引用类型和值类型
查看>>
dubbo序列化hibernate.LazyInitializationException could not initialize proxy - no Session懒加载异常的解决...
查看>>
jQuery中的事件绑定的几种方式
查看>>