日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Healthchecks—監(jiān)控服務(wù)器Cron定時(shí)任務(wù)的神器

在運(yùn)維服務(wù)器的時(shí)候經(jīng)常會(huì)用到一些Crontab任務(wù)。

為襄州等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及襄州網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、襄州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

當(dāng)你的Crontab中的任務(wù)數(shù)超過(guò)10個(gè)的時(shí)候,你會(huì)發(fā)現(xiàn)這些任務(wù)管理起來(lái)非常困難。

尤其是當(dāng)這些Cron任務(wù)執(zhí)行失敗的時(shí)候,比如 Python 實(shí)用寶典網(wǎng) 每個(gè)月初都會(huì)執(zhí)行一次https證書(shū)刷新,有一次協(xié)議更新之后,我的腳本失效了三個(gè)月,導(dǎo)致證書(shū)過(guò)期時(shí)網(wǎng)站宕機(jī)了一天,直到我發(fā)現(xiàn)并修復(fù)了這個(gè)問(wèn)題。

這就是Crontab任務(wù)的一個(gè)劣勢(shì):沒(méi)有方便的回調(diào)功能。

不過(guò),現(xiàn)在有一個(gè)非常方便的開(kāi)源Django項(xiàng)目能在這些Crontab失效的時(shí)候通知你,它就是healthchecks。

它通過(guò)一個(gè)回調(diào)接口判斷你的Crontab任務(wù)有沒(méi)有順利執(zhí)行。

比如說(shuō)你有一個(gè)python腳本定時(shí)執(zhí)行,healthchecks給定的回調(diào)URL是:

http://localhost:8000/ping/880cb4d

在配置Crontab腳本的時(shí)候,就需要這么寫(xiě):

8 6 * * * python /home/user/test.py && curl -fsS -m 10 --retry 5 -o /dev/null http://localhost:8000/ping/880cb4d2

如果未按時(shí)調(diào)用回調(diào)接口,healthchecks將會(huì)通過(guò)郵件等通知方式告警。

那么這個(gè)“未按時(shí)”能否設(shè)定寬限呢?比如我有個(gè)任務(wù)要跑1個(gè)小時(shí)左右,那么這個(gè)任務(wù)應(yīng)該是預(yù)計(jì)在一個(gè)半小時(shí)內(nèi)調(diào)用(Ping)回調(diào)接口,超過(guò)一個(gè)半小時(shí)如果沒(méi)有調(diào)用回調(diào)接口則告警。答案是肯定的。

上圖中Period指的是兩次Ping之間的時(shí)間間隔。下方Grace表示“寬限期”,自從上次Ping以來(lái)的時(shí)間已超過(guò)Period+Grace則會(huì)發(fā)送告警通知。

如果你用不習(xí)慣這種可視化的選擇器,它還提供了Crontab表達(dá)式給你定義Period和Grace:

真乃神器??!它支持的通知方式如下:

國(guó)內(nèi)用戶可能一般只會(huì)用到Email和Teams,高級(jí)點(diǎn)的用戶可能會(huì)用到IFTTT的Webhooks和普羅米修斯??傊?,按你的愛(ài)好來(lái)就行。

下面教大家如何在本地搭建這個(gè)項(xiàng)目:

1. 下載項(xiàng)目

使用Git工具克隆該項(xiàng)目:

git clone https://github.com/healthchecks/healthchecks

如果你訪問(wèn)不了github,可在【Python 實(shí)用寶典】公眾號(hào)后臺(tái)回復(fù) healthchecks 下載完整源代碼

2. 創(chuàng)建虛擬環(huán)境

推薦使用Python 3.6+,如果你有conda,那就非常方便了,創(chuàng)建healthchecks虛擬環(huán)境:

conda create -n healthchecks python=3.6
activate healthchecks

如果你沒(méi)有conda,你需要先安裝Python3.6,然后使用pip安裝virtualenv,在終端輸入以下命令創(chuàng)建healthchecks虛擬環(huán)境:

python3 -m venv healthchecks
source healthchecks/bin/activate

不同系統(tǒng)中命令可能不太一樣,遇到問(wèn)題多利用搜索引擎查詢就好了。

3. 安裝依賴

進(jìn)入到上述創(chuàng)建好的虛擬環(huán)境后,cd進(jìn)入項(xiàng)目根目錄,輸入以下命令安裝依賴:

pip install -r requirements.txt

4. 數(shù)據(jù)庫(kù)配置(可選)

該項(xiàng)目默認(rèn)使用SQLite,這意味著你不需要特殊配置也可照常運(yùn)轉(zhuǎn)。

如果你需要配置MySQL或PostgreSQL,請(qǐng)閱讀 hc/local_settings.py.example 文件進(jìn)行配置即可。

5. 數(shù)據(jù)表遷移

Django項(xiàng)目當(dāng)然少不了這個(gè)環(huán)節(jié),虛擬環(huán)境下,在根目錄里運(yùn)行以下命令進(jìn)行數(shù)據(jù)表的遷移:

python manage.py migrate

當(dāng)然,還要?jiǎng)?chuàng)建超管用戶:

python manage.py createsuperuser

6. 運(yùn)行項(xiàng)目

大功告成,輸入以下命令即可運(yùn)行項(xiàng)目:

python manage.py runserver

點(diǎn)擊右上角login in登錄到超管用戶就可以開(kāi)始使用了。

如果你需要對(duì)這個(gè)項(xiàng)目進(jìn)行大規(guī)模的改動(dòng),建議使用Pycharm作為編程工具,因?yàn)槭褂肞ycharm來(lái)寫(xiě)Django實(shí)在是太爽了。


當(dāng)前標(biāo)題:Healthchecks—監(jiān)控服務(wù)器Cron定時(shí)任務(wù)的神器
當(dāng)前地址:http://www.5511xx.com/article/coijcej.html