国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

supervisor 永不掛掉的進(jìn)程 安裝以及使用

zhaochunqi / 1349人閱讀

摘要:當(dāng)超過(guò)次后,將把此進(jìn)程的狀態(tài)置為默認(rèn)值為。。如果為,則的日志會(huì)被寫(xiě)入日志文件中理解為重定向輸出的日志這個(gè)參數(shù)可以設(shè)置一個(gè)非用戶(hù),當(dāng)我們以用戶(hù)啟動(dòng)之后。我這里面設(shè)置的這個(gè)用戶(hù),也可以對(duì)進(jìn)行管理子進(jìn)程的的日志路徑輸出日志文件錯(cuò)誤日志文件當(dāng)。

在使用Tp的消息隊(duì)列 think-queue的時(shí)候進(jìn)程意外結(jié)束了!導(dǎo)致項(xiàng)目沒(méi)法運(yùn)行;

所以用到了supervisor; 接下來(lái)跟大家分享一下自己的使用心得以及安裝到使用的方法;

官網(wǎng):http://supervisord.org/introd...
首先安裝 有很多辦法;
01:wget 下載壓縮包:

cd /usr/local/lee   #這個(gè)lee是我自己建立的一個(gè)目錄
wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz
tar -zxvf supervisor-3.3.2.tar.gz
cd supervisor-3.3.2
python setup.py install

02: yum安裝:

yum install python-setuptools
easy_install supervisor

我們安裝的時(shí)候使用wget的;

之后生成配置文件:

mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisord.conf

打開(kāi)配置文件修改一點(diǎn)東西;

vim /etc/supervisord.conf

要將底部的

;[include]
;files = relative/directory/*.ini
修改為:
[include]
files=/etc/supervisor/*.conf 
(注意去掉分號(hào),第一次安裝的時(shí)候就因?yàn)闆](méi)去掉分號(hào)出現(xiàn)了問(wèn)題!);

之后創(chuàng)建一個(gè)文件 文件名隨意 后綴為.conf的,我這里就創(chuàng)建一個(gè)test.conf的文件;
我的項(xiàng)目在/www/wwwroot/admin/目錄下:

vim test.conf
#寫(xiě)入一些配置:
[program:test]   # 設(shè)置進(jìn)程的名稱(chēng),使用 supervisorctl 來(lái)管理進(jìn)程時(shí)需要使用該進(jìn)程名 我這里就叫做test了!
command=php think queue:work --queue saveLoginLog --daemon --tries 10;  #這個(gè)就是隊(duì)列執(zhí)行的命令
directory= /www/wwwroot/admin;  #命令執(zhí)行的目錄或者說(shuō)執(zhí)行 command 之前,先切換到工作目錄 可以理解為在執(zhí)行命令前會(huì)切換到這個(gè)目錄
process_name=%(process_num)02d; #默認(rèn)為 %(program_name)s,即 [program:x] 中的 x 這個(gè)是進(jìn)程名,如果我們下面的numprocs參數(shù)為1的話(huà),就不用管這個(gè)參數(shù)
                                 了,它默認(rèn)值%(program_name)s也就是上面的那個(gè)program冒號(hào)后面的
numprocs=5; #進(jìn)程數(shù)量當(dāng)不為1時(shí)的時(shí)候,就是進(jìn)程池的概念,注意process_name的設(shè)置
autostart=true; #是否自動(dòng)啟動(dòng)
autorestart=true; #程序意外退出是否自動(dòng)重啟
startsecs=1;  自動(dòng)重啟間隔 
startretries=20;  當(dāng)進(jìn)程啟動(dòng)失敗后,最大嘗試啟動(dòng)的次數(shù)。。當(dāng)超過(guò)3次后,supervisor將把此進(jìn)程的狀態(tài)置為FAIL 默認(rèn)值為3 。。
redirect_stderr=true;  如果為true,則stderr的日志會(huì)被寫(xiě)入stdout日志文件中  理解為重定向輸出的日志
user=root;  這個(gè)參數(shù)可以設(shè)置一個(gè)非root用戶(hù),當(dāng)我們以root用戶(hù)啟動(dòng)supervisord之后。我這里面設(shè)置的這個(gè)用戶(hù),也可以對(duì)supervisord進(jìn)行管理
stdout_logfile= /www/wwwroot/admin/test.out.log; 子進(jìn)程的stdout的日志路徑 輸出日志文件
stderr_logfile=/www/wwwroot/admin/test.err.log ; 錯(cuò)誤日志文件 當(dāng)redirect_stderr=true。這個(gè)就不用

上面有注釋說(shuō)明的看起來(lái)有點(diǎn)混亂,我們來(lái)寫(xiě)一個(gè)沒(méi)有注釋的:

[program:test] 
command=php think queue:work --queue saveLoginLog --daemon --tries 10
directory= /www/wwwroot/admin
process_name=%(process_num)02d
numprocs=5
autostart=true
autorestart=true
startsecs=1
startretries=20
redirect_stderr=true
user=root
stdout_logfile= /www/wwwroot/admin/test.out.log
stderr_logfile=/www/wwwroot/admin/test.err.log 

之后執(zhí)行啟動(dòng):

supervisord -c /etc/supervisord.conf
supervisorctl reload

我在執(zhí)行的時(shí)候遇到錯(cuò)誤了,下面會(huì)說(shuō)錯(cuò)誤的處理的問(wèn)題以及解決辦法;

現(xiàn)在我們來(lái)測(cè)試;
首先在測(cè)試的時(shí)候執(zhí)行 stop 將進(jìn)程停止,之后再打開(kāi)一個(gè)終端連接redis,我們執(zhí)行登錄,執(zhí)行后登錄后的隊(duì)列任務(wù)會(huì)在redis一直存在;

supervisorctl stop test 或者直接 supervisorctl stop all

可以看到是沒(méi)有被執(zhí)行的!現(xiàn)在我們開(kāi)supervisorctl 的test進(jìn)程

接下來(lái)說(shuō)一下問(wèn)題:
問(wèn)題1:
Unlinking stale socket /tmp/supervisor.sock
或者:
Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

解決辦法:

sudo unlink /tmp/supervisor.sock 
or
sudo unlink /var/run/supervisor.sock

問(wèn)題2:
gave up: redis entered FATAL state, too many start retries too quickly

解決辦法:

修改redis.conf的daemonize為no

其他問(wèn)題暫時(shí)沒(méi)有發(fā)現(xiàn);
我在測(cè)試的時(shí)候進(jìn)程kill掉居然都可以執(zhí)行,所以將服務(wù)器重啟了!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/29114.html

相關(guān)文章

  • Python爬蟲(chóng)之用supervisor使scrapy在服務(wù)器后臺(tái)運(yùn)行

    摘要:折騰原因之前都是遠(yuǎn)程連接服務(wù)器,然后在命令行運(yùn)行,一旦關(guān)閉遠(yuǎn)程連接,爬蟲(chóng)就會(huì)停止,很不爽,畢竟能讓一個(gè)爬蟲(chóng)在服務(wù)器一直跑才是每個(gè)小白的夢(mèng)想,所以開(kāi)始研究如何使程序在后臺(tái)運(yùn)行,剛開(kāi)始看了,感覺(jué)不好用,又搜了搜,發(fā)現(xiàn)了這個(gè)進(jìn)程管理程序。 折騰原因 之前都是遠(yuǎn)程連接服務(wù)器,然后在命令行運(yùn)行scrapy crawl spider,一旦關(guān)閉遠(yuǎn)程連接,爬蟲(chóng)就會(huì)停止,很不爽,畢竟能讓一個(gè)爬蟲(chóng)在服務(wù)器...

    Turbo 評(píng)論0 收藏0
  • CentOS 下使用 Pipenv + Gunicorn + Supervisor 部署 Flask

    摘要:根據(jù)中華人民共和國(guó)信息產(chǎn)業(yè)部第十二次部務(wù)會(huì)議審議通過(guò)的非經(jīng)營(yíng)性互聯(lián)網(wǎng)信息服務(wù)備案管理辦法精神,在中華人民共和國(guó)境內(nèi)提供非經(jīng)營(yíng)性互聯(lián)網(wǎng)信息服務(wù),應(yīng)當(dāng)辦理備案。未經(jīng)備案,不得在中華人民共和國(guó)境內(nèi)從事非經(jīng)營(yíng)性互聯(lián)網(wǎng)信息服務(wù)。 當(dāng)我們開(kāi)發(fā)了一個(gè)簡(jiǎn)單的 Flask 程序,想把項(xiàng)目部署上線,我們可以選擇傳統(tǒng)的部署方式或者云部署方式把項(xiàng)目部署上線。在本文中,筆者將使用 阿里云輕量應(yīng)用服務(wù)器 安裝 C...

    anyway 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<