首页 > 作文

php使用goto实现自动重启swoole、reactphp、workerman服务的代码

更新时间:2023-04-08 17:17:34 阅读: 评论:0

在中北大学信息商务学院平时使用swoole进行开发中,常常遇到这种问题,改了代码之后,手动ctrl+c中断服务,再敲命令重启服务。频繁地重启,感觉心很累。

php提供了inotify扩展,调用linux的inotify系统调用,监控文件的变化.

这时候就产生了一个想法,我开一个主进程监控文件变化,再开一个子杭州学院进程运行swoole服务。主进程监听到文件变化之后,干掉子进程,然后再开一个子进程运行swoole服务. 子进程如果想优雅地退出,安装个信号处理器,在退出之前做一些操作。

<?php//index.phprequire './vendor/autoload.php';restart:$pid = pcntl_fork();if ($pid > 0) {  $fd = inotify_init();  $watch_descriptor = inotify_add_watch($fd, './src/', in_modify);  $events = inotify_read($fd);  posix_kill($pid, sigterm);    fclo($fd);  pcntl_wait($status);  goto restart;} elif ($pid == 0) {  \church\application::run();} el {  exit(0);}
<?phpnamespace church;/**u psr\http\message\rverrequestinterface;u react\http\respon;u react\http\rver;**/class application{  public static function run()  {  /**    $lo人际交往障碍op = \react\eventloop\factory::create();    $loop->addsignal(sigterm, function() u ($loop) {      $loop->stop();    });    $rver = new rver(function (rverrequestinterface $request) {      return new respon(        200,        array(          'content-type' => 'text/plain'        ),        "hello world1!\n"      );    });    $socket = new \react\socket\rver(8080, $loop);    $rver->listen($socket);    $loop->run();  **/    //高性能http服务器    $http = new \swoole\http\rver("127.0.0.1", 9501);    $http->on("start", function ($rver最美短句) {      echo "swoole http rver is started at http://127.0.0.1:9501\n";    });    $http->on("request", function ($request, $respon) {      $respon->header("content-type", "text/plain");      $respon->end("hello world1\n");    });    $http->start();  }}

个人觉得这里最优雅的实现方式应该是用goto了。

到此这篇关于php使用goto实现自动重启swoole、reactphp、workerman服务的代码的文章就介绍到这了,更多相关php自动重启swoole、reactphp、workerman服好听霸气的网名务内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-08 17:17:33,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/6b2eb4bf9b21acc9237bc33de4352765.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:php使用goto实现自动重启swoole、reactphp、workerman服务的代码.doc

本文 PDF 下载地址:php使用goto实现自动重启swoole、reactphp、workerman服务的代码.pdf

标签:进程   文件   重启   个子
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图