Crontab监听swool端口,只要地球不爆炸服务永久不死掉

22人阅读 评论(0) 收藏 举报
分类:

为什么要监听

要是挂了,电话会被打爆的。

在swool 官方文档中写到:

在某些情况下,如系统负载过大swoole无法申请到内存而挂掉、swoole底层发生段错误、Server占用内存过大被内核Kill,或者被某些程序误杀。那swoole-server将无法提供服务,导致业务中断,公司收入出现损失。
利用进程的方式检测可以直接用官方提供的案例点击进入

利用监听端口的形式来restart swool 服务

原理和监听进程差不多, 每1分钟去监听这个端口是否存在, 如果不存在,则启动项目中的swool 服务。

check-port-on-crontab.sh

port=9502
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

#杀掉对应的进程,如果pid不存在,则不执行
if [  -z  "$pid"  ];  then

   /usr/local/php/bin/php /www/im/swoole/im.php
fi

目前的端口是9502,把这个端口kill 掉, 再执行 这个sh 文件,如果服务是正常的则监听是正常的。

加入crontab

crontab -e


*/1 * * * * sh /www/sh/check-port-on-crontab.sh>/www/log/check-swool-port.log 2>&1 &

每一分钟去执行 check-port-on-crontab.sh 这个脚本。同时加入自定义的log 日志中。

查看评论

Swift不深入只浅出入门教程

介绍Swift语言的基础知识,同时也是为了完成我原来一个github项目(https://github.com/mengxiangyue/The-Swift-2.0-Programming-Language-playground)上面写的录制一套视频教程的承诺。
  • 2015年08月30日 15:42

swool从入门到实战打造赛事直播平台

需要的加q3403299587
  • qq_42031000
  • qq_42031000
  • 2018-04-20 19:16:08
  • 53

swoole入门教程04-多端口监听、热重启以及Timer进阶:简单crontab

环境说明: 系统:Ubuntu14.04 (安装教程包括CentOS6.5) PHP版本:PHP-5.5.10 swoole版本:1.7.7-stable Github链接:https:...
  • ldy3243942
  • ldy3243942
  • 2014-11-02 18:40:59
  • 9327

Supervisor使用备忘

为什么要用Supervisor? 是什么 从这里说起,服务器端要将程序以daemon运行,其目的是摆脱控制终端的信号影响,以免进程退出。Daemon化流程: int daemonize() { ...
  • figo_cui
  • figo_cui
  • 2015-10-17 10:40:45
  • 1557

串口监听工具

  • 2012年08月27日 15:37
  • 1.07MB
  • 下载

串口监听 绿色 中文 不占用端口

  • 2012年11月30日 01:22
  • 380KB
  • 下载

MS SQL2005无法连接服务器 1433端口没有监听

转自:http://hi.baidu.com/kerkill/item/26bf8b84e5941fd7d1f8cdfa 谢谢上位的提示,不过为什么会这样,我还没有研究~~~~~~~ 今天我用ne...
  • hanchengxi
  • hanchengxi
  • 2012-12-04 19:00:30
  • 1225

连接一个没有监听的端口结果会怎样

一句话总结:消息可达的情况下服务端直接抛个RST过来 服务端: #include #include #include #include #include #include #i...
  • Nick_666
  • Nick_666
  • 2017-10-25 14:28:41
  • 213

DB2端口无法访问问题分析

测试环境有一台机器(vm231),远程访问db2 50000端口,无法打开socket套接字;之前是可以访问的,但在我用普通用户reboot之后就连接不上了,而且root用户无法ssh登陆。 1.  ...
  • chuichuiyu
  • chuichuiyu
  • 2015-09-02 17:26:25
  • 704

swoole入门教程03-Timer定时器、心跳检测及Task进阶实例:mysql连接池

环境说明: 系统:Ubuntu14.04 (安装教程包括CentOS6.5) PHP版本:PHP-5.5.10 swoole版本:1.7.7-stable Github地址:https://...
  • ldy3243942
  • ldy3243942
  • 2014-10-29 23:15:50
  • 8813
    个人资料
    持之以恒
    等级:
    访问量: 8万+
    积分: 2691
    排名: 1万+
    点击添加博主QQ
    最新评论