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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
輕松學(xué)習(xí):Linux環(huán)境下gevent編譯指南(linux下gevent編譯)

作為一款高性能的Python并發(fā)編程庫(kù),gevent一直備受開(kāi)發(fā)者青睞。尤其在Web開(kāi)發(fā)領(lǐng)域,它可以幫助我們輕松實(shí)現(xiàn)高并發(fā)和I/O密集型任務(wù)。但是,在Linux環(huán)境下編譯gevent并不是一件容易的事情。本文將為大家提供一份詳細(xì)的編譯指南,幫助大家輕松掌握gevent在Linux環(huán)境下的安裝和使用。

創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比燈塔網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式燈塔網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋燈塔地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴(lài)。

一、安裝依賴(lài)項(xiàng)

在編譯gevent之前,我們需要先安裝一些依賴(lài)庫(kù)。以下是一個(gè)典型的安裝命令:

“`

sudo apt-get install build-essential python-dev libevent-dev python-setuptools

“`

這里我們安裝了build-essential,它包含了一些必要的C/C++編譯器和庫(kù)文件。同時(shí),我們還安裝了python-dev,它提供了Python的開(kāi)發(fā)環(huán)境;另外,我們還安裝了libevent-dev,它是gevent運(yùn)行的基礎(chǔ)庫(kù);我們還安裝了python-setuptools,它是Python的包分發(fā)工具。

二、下載和解壓源代碼

在安裝好依賴(lài)項(xiàng)之后,我們需要下載和解壓gevent的源代碼。以下是幾個(gè)可以使用的下載鏈接:

“`

https://pypi.python.org/packages/source/g/gevent/gevent-1.1.2.tar.gz

https://github.com/gevent/gevent/archive/v1.1.2.tar.gz

“`

你可以選擇其中任意一個(gè)鏈接進(jìn)行下載,然后解壓到一個(gè)指定目錄中,例如:

“`

tar -zxvf gevent-1.1.2.tar.gz -C ~/Downloads/

“`

三、進(jìn)入解壓后的目錄并編譯

進(jìn)入解壓后的目錄,并執(zhí)行以下命令:

“`

cd ~/Downloads/gevent-1.1.2/

python setup.py build

“`

這個(gè)過(guò)程可能會(huì)需要一些時(shí)間,因?yàn)樗枰幾gC代碼并生成一些Python模塊。如果一切順利的話,你應(yīng)該可以看到下面的輸出信息:

“`

running build

running build_py

running build_ext

“`

如果你看到了任何錯(cuò)誤信息,請(qǐng)注意查看你的系統(tǒng)日志和安裝目錄中的log文件,以獲得更多的信息。

四、使用pip進(jìn)行本地安裝

一旦編譯好了gevent,我們就可以使用pip進(jìn)行本地安裝了:

“`

sudo pip install .

“`

請(qǐng)注意,這里的點(diǎn)號(hào)表示當(dāng)前目錄,因此pip會(huì)自動(dòng)將編譯好的gevent安裝到系統(tǒng)中。

五、測(cè)試gevent的運(yùn)行效果

我們需要測(cè)試剛剛安裝的gevent是否可以正常運(yùn)行。以下是一個(gè)簡(jiǎn)單的測(cè)試代碼:

“`python

import gevent

from gevent import monkey

monkey.patch_all()

def func(i):

print(“start %d” % i)

gevent.sleep(1)

print(“end %d” % i)

gevent.joinall([gevent.spawn(func, i) for i in range(3)])

“`

這段代碼將在3個(gè)綠色線程中運(yùn)行,并輸出每個(gè)線程的開(kāi)始和結(jié)束時(shí)間。你可以嘗試運(yùn)行這個(gè)代碼并查看輸出信息,以確保gevent正常工作。

:通過(guò)以上步驟,你現(xiàn)在應(yīng)該已經(jīng)掌握了在Linux環(huán)境下安裝和編譯gevent的方法。gevent作為一個(gè)高性能的Python并發(fā)編程庫(kù),可以幫助我們輕松地實(shí)現(xiàn)高并發(fā)和I/O密集型任務(wù),因此在任何需要使用Python進(jìn)行并發(fā)編程的應(yīng)用場(chǎng)景中,都應(yīng)該考慮使用gevent。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!

如何看待 slack 這個(gè)前端框架

為什么要做 slack-alert 呢? 成因其實(shí)是我一直想做的AST相關(guān)的一個(gè)項(xiàng)目. 正好是一個(gè)機(jī)會(huì). 其次也是業(yè)務(wù)需要:

  工程師都比較懶, 在每天的各種問(wèn)題郵件幾百幾千封的時(shí)候會(huì)經(jīng)常遺漏重要的郵件. 會(huì)經(jīng)常被用戶(hù)以及公司其他同事發(fā)現(xiàn)問(wèn)題時(shí)@到時(shí)候才發(fā)現(xiàn). 現(xiàn)在大家也接受了slack這個(gè)工具. 那么我就在想何不把更重要的消息發(fā)送到slack里呢.

  原來(lái)也做過(guò), 就是寫(xiě)一些腳本, 會(huì)把運(yùn)行的結(jié)果通過(guò) slacker 里面封裝的 postMessage 發(fā)消息進(jìn)來(lái). 先說(shuō)一下為什么我不用 Incoming-webhooks . 最主要的, 因?yàn)橥ǔlack都是用的免費(fèi)版, 我擔(dān)心對(duì)webhooks會(huì)有限制或者未來(lái)會(huì)有限制.

  但是為什么做這個(gè) 微框架 呢? 一則這樣的腳本和任務(wù)會(huì)越來(lái)越多, 腳本需要設(shè)置的定時(shí)任務(wù)的間隔也會(huì)各不相同. 用系統(tǒng)自帶的crontab, 每次新增修改刪除都要去做調(diào)整. 代碼還需要做抽象; 用celery, rq這些其實(shí)一是很浪費(fèi), 二也不畝滑怎么應(yīng)景. 所以我寫(xiě)了這個(gè)工具.

  優(yōu)點(diǎn)和特點(diǎn) 只支持python3 支持多種調(diào)度模式: AsyncIOSchedulerBackgroundScheduler, GeventScheduler, TornadoScheduler. 默認(rèn)是AsyncIO 使用 AST , 而沒(méi)有直接import代碼. 代碼和項(xiàng)目無(wú)關(guān), 沒(méi)有register. 只需要按格式編寫(xiě)plugin腳本即可, 要被執(zhí)行的任務(wù)加一個(gè)裝飾器(只需要他是一個(gè)裝飾器, 不需要存在). 指定運(yùn)行的間隔就好 附帶常用的配置 安裝

  pip install slack-alert

  slack-alert有個(gè)默認(rèn)的配置 slack_alert.conf . 使用 OS X 或者 linux 可以拷貝到 ~/.config/slack_alert.conf

  編寫(xiě)插件

  PS: 插件目錄默認(rèn)是當(dāng)前目錄的 plugins 子目錄下.

  tree plugins plugins ├—— examples.py 0 directories, 1 files

  # coding=utf-8 import os @deco(seconds=2) # 這個(gè)一個(gè)正確格式的任務(wù), 因?yàn)檠b飾器里面包含`hours|seconds|minutes|days`這樣的鍵. def a(): print(1) # 插件也需要python3的語(yǔ)法 print(os) # 可以使用外部的變量成都軟件外包公司

1 # 這個(gè)返回值最后會(huì)被發(fā)送到slack的channel里面 def b(): # 這個(gè)函數(shù)因?yàn)闆](méi)有對(duì)應(yīng)的格式的裝飾器 他不會(huì)被當(dāng)做一個(gè)任務(wù) print(3) return 2 @deco2(xx=1) @deco(minutes=2, seconds=30) def c(): # 這個(gè)函數(shù)也不是一個(gè)正確格式的裝飾器. 我需要把`deco`放在最外面 print(4) return 3

  PS: 大家不要迷惑為什么 deco 這個(gè)函數(shù)沒(méi)有介紹. 因?yàn)槲抑恍枰@個(gè)代碼文本. 我其實(shí)迅早臘不直接運(yùn)行這個(gè)腳本. 所以不需要裝飾器存在.

  使用

  slack-alert

  這樣就啟動(dòng)了.

  a 這個(gè)函數(shù)就會(huì)每隔2秒運(yùn)行一次, 運(yùn)行三次后, 停頓60分鐘… 這樣循環(huán)(高級(jí)用法看下面的參數(shù)). 并且把結(jié)果發(fā)送到slack里面

  原理 啟動(dòng) slack-alert 我首先加載配置. 我會(huì)根據(jù)配置 –path 去找我應(yīng)該睜漏去哪個(gè)文件目錄下(默認(rèn)是當(dāng)前目錄)的 plugins 子目錄下去找符合的任務(wù)程序. 加載符合的目錄下的每個(gè)python文件. 生成一個(gè)AST(抽象語(yǔ)法樹(shù)). 遍歷這棵樹(shù). 找到符合我需要的語(yǔ)法的函數(shù). 去掉這個(gè)實(shí)際不存在的裝飾器. 編譯源碼并且執(zhí)行. 生成一個(gè)命名空間 獲取這個(gè)命名空間的參數(shù), 通過(guò) apscheduler . 添加一個(gè)任務(wù) 添加全部任務(wù). 再添加一個(gè)監(jiān)控這些任務(wù)的任務(wù)(主要是用來(lái)在某些時(shí)機(jī)停掉/啟動(dòng)其他某些任務(wù)) 啟動(dòng)任務(wù)調(diào)度. 直到 Ctrl+C 高級(jí)選項(xiàng)

linux下gevent編譯的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux下gevent編譯,輕松學(xué)習(xí):Linux環(huán)境下gevent編譯指南,如何看待 slack 這個(gè)前端框架的信息別忘了在本站進(jìn)行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機(jī)被稱(chēng)為香港虛擬空間/香港網(wǎng)站空間,或者簡(jiǎn)稱(chēng)香港主機(jī)/香港空間。香港虛擬主機(jī)特點(diǎn)是免備案空間開(kāi)通就用, 創(chuàng)新互聯(lián)香港主機(jī)精選cn2+bgp線路訪問(wèn)快、穩(wěn)定!


網(wǎng)頁(yè)題目:輕松學(xué)習(xí):Linux環(huán)境下gevent編譯指南(linux下gevent編譯)
轉(zhuǎn)載注明:http://www.5511xx.com/article/dhoghdg.html