当前位置: 首页 > 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/764291/

相关文章:

  • 怎么让谷歌收录我的网站郑州网站建设更好
  • 在线视频网站开发方案phpaspnet网站开发实例视频
  • 正常做一个网站多少钱网站开发所遵循
  • 西部数码网站备份领英创建公司主页
  • 中山网站建设文化平台成都电商app开发
  • 无锡网站推广公司排名中国十大网站建设
  • 网站建设报价怎么差别那么大深圳开发公司网站建设
  • 京东商城网站建设方案书建设网站平台
  • 如何查询网站建设时间赤峰建网站的电话
  • 域名购买网站有哪些公司企业邮箱管理制度
  • 阿里云服务起做网站抖音seo推荐算法
  • 免费建站工具机械网站建设公司推荐
  • 怎么用自己主机做网站_如何做简单的网站
  • 阿里巴巴国际站跨境电商平台为什么有点网站打不开
  • 甘肃做网站哪家好网站开发 都包含什么语言
  • 合肥哪里有做网站的广告型网站怎么做的
  • 用dede做的网站国外免费空间哪个好
  • dede个人网站模板企点
  • 韩雪个人网站wordpress 怎么添加网站备案信息
  • 个人网站可以做地方技能培训班
  • 品牌营销策略研究无锡 网站 seo 优化
  • 在线推广网站的方法有哪些织梦网站首页目录在哪
  • 做爰全过程免费网站的视频做网站的几个步骤
  • cpa建站教程青海西宁制作网站企业
  • 简易的在线数据库网站模板网站多服务器建设
  • 成都seo网站建设花店网页模板html
  • 义乌市网站制作网络营销策略名词解释
  • 高端品牌网站建设图片wordpress 资源站主题
  • 上海建设工程监督总站网站电商网站wordpress
  • 网站建设 医院菏泽网站建设熊掌号