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

建设局网站买卖合同做网站的带宽

建设局网站买卖合同,做网站的带宽,政务网站集约化建设,北京王府井步行街python 限制同一时间只执行一个 作服務器端開發的同窗應該都對進程監控不會陌生#xff0c;最近剛好要更換 uwsgi 爲 gunicorn#xff0c;而gunicorn又剛好有這麼一章講進程監控#xff0c;因此多研究了下。python 結合以前在騰訊工做的經驗#xff0c;也會講講騰訊的服務…python 限制同一时间只执行一个 作服務器端開發的同窗應該都對進程監控不會陌生最近剛好要更換 uwsgi 爲 gunicorn而gunicorn又剛好有這麼一章講進程監控因此多研究了下。python 結合以前在騰訊工做的經驗也會講講騰訊的服務器監控是怎麼作的。同時也會講下小團隊又該怎麼敏捷的解決。web 下面按照監控的方法依次介紹。shell 1、按照進程名監控服務器 在騰訊內部全部server都是要打包發佈的而在打包過程當中是須要填寫要監控的進程名而後在crontab中定時經過ps查詢進程是否存在。app 這種方法是比較簡單的方法可是考慮到不少進程會在啓動以後更名以及進程名存在各類特殊字符多個進程同時存在的問題實際操做起來並非很舒服。socket 舉個簡單的例子gunicorn啓動以後的進程名相似這樣 master: [wsgi:app]其中的方括號在grep時要記得轉義不然就會出問題。tcp 不過無論怎麼說這種方法在不少其餘方式用不了的時候反而是最簡單的方法。this 下面是用python的實現阿里雲 def monitor_process(key_word, cmd):p1  subprocess.Popen([ps, -ef], stdoutsubprocess.PIPE)p2  subprocess.Popen([grep, key_word], stdinp1.stdout, stdoutsubprocess.PIPE)p3  subprocess.Popen([grep, -v, grep], stdinp2.stdout, stdoutsubprocess.PIPE)lines  p3.stdout.readlines()if len(lines)  0:returnsys.stderr.write(process[%s] is lost, run [%s]\n % (key_word, cmd))subprocess.call(cmd, shellTrue) 2、按照端口監控url 這種方式以前在騰訊打包的時候也有用可是多是進程名更直觀的緣由吧貌似一直沒怎麼用起來。 不過如今本身在作包部署的時候反而以爲端口監控是個最靠譜的事情了。這個也沒什麼好多說的直接上剛寫完的python代碼 def monitor_port(protocol, port, cmd):address  (127.0.0.1, port)socket_type  socket.SOCK_STREAM if protocol  tcp else socket.SOCK_DGRAMclient  socket.socket(socket.AF_INET, socket_type)try:client.bind(address)except Exception, e:passelse:sys.stderr.write(port[%s-%s] is lost, run [%s]\n % (protocol, port, cmd))subprocess.call(cmd, shellTrue)finally:client.close() 有的朋友可能說對於tcp端口檢查其實以client的方式來connect()看是否成功會不會更好其實我以爲這種方式也挺好的而且對於不一樣的協議能夠再深刻處理一下好比對http協議能夠用urllib2.urlopen確保返回正確的包纔算正常。不過若是這麼作的話就有點偏黑盒監控 了好比監控寶、阿里雲監控之類的服務了。 3、經過監控server啓動進程並以監控子進程的方式監控 這個也是在gunicorn頁面上看到的提及來gunicorn很不厚道的把gaffer放到第一個讓我還覺得是個很成熟的產品結果發現連啓動都是個問題。 相反排在後面的supervisor反而至關的好用下面是截圖 supervisor能夠很方便的管理進程包括重啓中止等等並且提供了web界面和用戶驗證能夠很方便的在線管理。 可是有好處就有壞處用了supervisor以後就不能本身隨便的去本身重啓服務了不然會影響supervisor的監控這對我這種喜歡本身執行 xx.sh restart 的人實在有點太痛苦了。固然其實要是習慣了去supervisorctl 裏面start/stop/reload 以後也就還好了。 用supervisor配置gunicorn的配置項以下 [program:yuanzhaopin]environmentPYTHON_EGG_CACHE/tmp/.python-eggs/,PYTHONPATH/data/release/yuanzhaopincommand/usr/local/bin/gunicorn --debug --log-level debug --log-file /tmp/g.log wsgi:appuserzny2008autorestarttrueredirect_stderrtrue ok目前本身經常使用的就是這幾種模式了你們若是有其餘選擇歡迎留言討論。 完整代碼以下: #!/usr/bin/env python # -*- coding: utf-8 -*- #*/1 * * * * python /xxx/monitor.py  /xxx/logs/monitor.log 21   import sys import subprocess import os.path as op import socket def this_abs_path(script_name):return op.abspath(op.join(op.dirname(__file__), script_name))def monitor_process(key_word, cmd):p1  subprocess.Popen([ps, -ef], stdoutsubprocess.PIPE)p2  subprocess.Popen([grep, key_word], stdinp1.stdout, stdoutsubprocess.PIPE)p3  subprocess.Popen([grep, -v, grep], stdinp2.stdout, stdoutsubprocess.PIPE)lines  p3.stdout.readlines()if len(lines)  0:returnsys.stderr.write(process[%s] is lost, run [%s]\n % (key_word, cmd))subprocess.call(cmd, shellTrue)def monitor_port(protocol, port, cmd):address  (127.0.0.1, port)socket_type  socket.SOCK_STREAM if protocol  tcp else socket.SOCK_DGRAMclient  socket.socket(socket.AF_INET, socket_type)try:client.bind(address)except Exception, e:passelse:sys.stderr.write(port[%s-%s] is lost, run [%s]\n % (protocol, port, cmd))subprocess.call(cmd, shellTrue)finally:client.close()# def yuanzhaopin():cmd  %s start % this_abs_path(gun.sh)#monitor_process(\[yuanzhaopin\], cmd)monitor_port(tcp, 8635, cmd)def main():yuanzhaopin()if __name__  __main__:main()
http://www.w-s-a.com/news/308061/

相关文章:

  • 宁波网站制作服务做外贸推广自己网站
  • php 微信 网站开发青岛网站互联网公司
  • 网站软件免费下载大全网站建设开发价格高吗
  • asp网站制作软件上海做网站制作
  • 福田区住房和建设局网站好搜搜索引擎
  • 平面设计师看的网站济南机场建设
  • 俄文网站开发翻译平台页面设计模板
  • 建设在线购物网站淮南电商网站建设价格
  • 龙泉市旅游门户网站建设wordpress faq插件
  • 网站的流程图贵阳做网站方舟网络
  • c 做网站开发实例wordpress 加上index
  • 济南seo网站推广搜索广告推广
  • 有关于网站建设的参考文献宁波seo网络推广公司
  • 网站设配色个人主页介绍文案
  • 网站seo相关设置优化网站建设的好处
  • 上海市建设工程安全生产协会网站郴州网站设计公司
  • 网站大型网页游戏自己搭建服务器做视频网站
  • 建立网站企业wordpress用户名密码破解
  • 网站管理助手建站教程国外网站做acm题目比较好
  • 网站开发框架排行专业网页制作服务商
  • 企业网站建设入账政务网站建设信息
  • 网络平台建设是什么江门排名优化怎么做
  • 响应式旅游网站模板下载网址做
  • 个人做网站名称可以随意更改吗惠州网站推广排名
  • 自己建设一个网站步骤网站认证怎么认证
  • 深圳建站公司开发费用沧州手机建站哪家好
  • 兰州网站设计公司排名百度怎么发布短视频
  • 大连模板开发建站泰州网站建设策划方案
  • 厦门好的网站设计局域网内建网站
  • 关键词那种网站正版网页游戏平台排行榜