在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ Python問答
抱緊我 回答
背景
目前項目中會使用了Iaas中的vm,所有操作都是通過ssh連上去的。pm表示要不要寫個agent在里面用,現(xiàn)在每次操作都ssh一下都很惡心。

談?wù)勎艺J(rèn)為使用ssh的好處:
代碼集中在一處,不需要分發(fā)
不需要維護agent這么一個進程的生命周期,以及檢測它的心跳
缺點:

不支持異步
我想問的問題
ssh的開銷大嗎?在我看來似乎和寫一個基于web server 的agent差不多
大家一般是如何選型的?為什么這么選?

這個東西以前做過類似的,也有過反思,甚至設(shè)計的原型和你說的一模一樣。

例如,我為什么要用基于web server的agent呢,我干嘛不用tcp長連接到服務(wù)端,這樣執(zhí)行的結(jié)果可以流式傳輸?shù)秸{(diào)用方,他那邊顯示起來比較平滑,不用每個命令執(zhí)行完等結(jié)果。
但是我這樣搞的話,中控端流量和日志存儲就成了問題了啊。
如果我的業(yè)務(wù)都在云上,如果不同機房網(wǎng)絡(luò)不互通的話,我又要蛋疼地搞點兼容的事情……
例如,agent的生命周期,為什么我要檢測她的心跳呢?機器上萬臺的話,任何可能的事情都會發(fā)生啊,修復(fù)起來太蛋疼了。但是我不處理的話……所以后面我會考慮用ssh來修復(fù)agent啊。

我假設(shè)你所有的機器都是linux,發(fā)行版為同一種。

SSH:

  1. 依賴于ssh的速度,一旦網(wǎng)絡(luò)抖動,ssh操作便會失敗。(低概率/風(fēng)險)
  2. 依賴于key,如果你安全策略不夠嚴(yán)謹(jǐn),或者管理比不嚴(yán)格的話,那么必然會造成root key的泛濫。(安全風(fēng)險高)
  3. 開源技術(shù)很成熟,你很容易就能用幾行python包裝出一個比較完善的腳本,或者寫出一個ansible的配置。(用起來簡單)

AGENT:

  1. 依賴于中控端。如果你不打算搞個中控端,那和ssh沒本質(zhì)區(qū)別。
  2. 其實和SSH一樣,依賴于網(wǎng)絡(luò),一旦抖動也會出問題。
  3. ?;?。如果你的公司稍微大點的話,會有各種亂七八糟的原因能讓你的agent不起作用,甚至被kill。雖然處理起來沒啥問題,但是這個活總得有人來干。(低風(fēng)險)
  4. 維護。(成本中等)
  5. agent其實可以不用中間代碼,因為一方面工作量比較大,一方面教育成本和學(xué)習(xí)成本也比較高。只是向agent下發(fā)shell腳本、python腳本等也可以完成相同的功能,沒問題的。

大公司有各種審計、安全方面的需求,會把這種事情統(tǒng)一到某個地方,搞個中控端,所有的批量操作必須通過中控端。模式也不一樣,有些用agent,有些用ssh,只有中控端才是必須要有的。

再說的直白點,
你是個小公司,小于30臺機器或者小于50臺機器的話,不建議考慮agent模式。
沒那個需求,投入的成本大而收效低。
基于各種第三方框架包裝一個就好了嘛,嫌麻煩就ansible用起。

耍太極 回答

反爬了,你如果只是想練習(xí)的話換個網(wǎng)站爬

小曖昧 回答

python有個區(qū)間處理庫interval

from interval import Interval, IntervalSet

data = [(2, 4), (9, 13), (6, 12)]

intervals = IntervalSet([Interval.between(min, max) for min, max in data])
print [(_.lower_bound, _.upper_bound) for _ in intervals]
北城荒 回答

建議使用一下 ItemLoader 或者 normalize-space

刮刮樂 回答

測試服務(wù)器上接口是正常的么?

mounted:function(){
  http.get('user/detail').then(function(res) {
     if (res.email == "") {
        this.emailDis = false;
     }
  });
}

本地正常 ,測試環(huán)境有問題。說明是這里的沒有走通 ,接口報錯了,
你console.log(res)看一下,res.email 有么

data{
 return {
     emailDis:true,
     sideForm:{
       email:''
     }
   }
}

初始值的時候最好是 key:value 的形式,沒有value就用 ""

怣痛 回答

self.textpad1在傳值之前data是None,你應(yīng)該在給data賦值之后再傳入self.textpad1中顯示

別硬撐 回答

考慮一下用selenium,全自動登錄,除了驗證碼需要識別算法或者手動輸入,無需解析cookie,方便快捷

幼梔 回答

有這樣的嗎?我知道tuple當(dāng)只有一個元素時是需要加的,list加不加都一樣。

雨蝶 回答

.chm文件使用 IE 瀏覽器的編碼設(shè)置,將 IE 的編碼設(shè)置為自動選擇即可解決問題。

PS:在3.6.3和3.6.4中還是有些亂碼沒有完全解決。'抯'這個亂碼解決不了。3.6.2之前的亂碼全都解決了。3.6.3和3.6.4文檔是不是出Bug了啊,首頁都顯示變樣子了。

乞許 回答

“帶參數(shù)的裝飾器”,這樣的描述并不準(zhǔn)確,@desc(arg) 更好的理解是函數(shù) desc 被調(diào)用,該函數(shù)返回一個裝飾器。況且你已經(jīng)知道處理方法了,只是想要知道為什么。這點上是一點就通的。

先理解一個,函數(shù)允許重新賦值的

def f():
    pass
f = 1
print(f)    # 1   

然后你對裝飾器的理解也已經(jīng)很充分了:

@log(i, j, k)
    def f():

# 等價于
tmp = log(i,j,k)
@tmp
def f():

這里的原因在于,你把 log 重新賦值了,它變成了一個裝飾器,而不是一個返回裝飾器的函數(shù)。嗯,原因就是這么簡單。

青檸 回答

encode('utf-8') 試試呢? 有些接口的參數(shù)不能是unicode,如果你不指定編碼,就會以系統(tǒng)默認(rèn)編碼(多數(shù)是ascii)去編碼。所以中文就會報錯的

舊螢火 回答

代碼沒錯,是其他部分的代碼邏輯出現(xiàn)了點問題,導(dǎo)致傳過來的數(shù)據(jù)有問題

過客 回答

先把腳本設(shè)置可執(zhí)行權(quán)限,

chmod +x bash.sh

然后扔到 etc/rc0.d

cp bash.sh /etc/rc0.d/

rc0.d 存放的是關(guān)機前執(zhí)行的腳本
rc6.d 存放的是重啟前執(zhí)行的腳本

看你對并發(fā)的需求,如果并發(fā)量很大,還是需要連接池的

我以為 回答

sql應(yīng)該是沒啥問題,尤其是gem1不會報錯的情況下。檢查一下gem2前后是不是有空格或者換行符。

乖乖瀦 回答

執(zhí)行了數(shù)據(jù)刪除空閑的磁盤會添加到空閑列表,并不會向操作系統(tǒng)返回磁盤空間
解決辦法:運行VACUUM命令來清空空閑列表

柚稚 回答

np.sum(np.array(range(10000000), dtype=float))
numpy底層用c優(yōu)化的,應(yīng)對任何數(shù)學(xué)問題,默認(rèn)的dtype是int32,當(dāng)然溢出來啦

尕筱澄 回答

pandas的DataFrame實現(xiàn)了類似SQL的操作方式.
http://pandas.pydata.org/pand...
具體的還是看文檔吧,我也不太熟.

忘了我 回答

你這個亂打標(biāo)簽,導(dǎo)致我沒有看到問題?

result_query = session.query(Map).filter(Map.a.between(1, 3), Map.b.between(3, 6))

使用 between 即可。
還有,送你一個福利——https://github.com/eastossifr..., 這是我的一個項目。