真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python函數(shù)超時(shí)重試的簡(jiǎn)單介紹

python 在爬蟲中timeout設(shè)置超時(shí)有什么作用

是為了防止url不可訪問(wèn),或者響應(yīng)速度太慢而造成的時(shí)間浪費(fèi)。

為遼寧等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及遼寧網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站制作、做網(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)!

比如,你要爬取1000個(gè)網(wǎng)站,如果有100個(gè)需要30s才能返回?cái)?shù)據(jù),你等待他們返回的話就需要3000s了,如果你設(shè)置10s超時(shí),那么就能知道最長(zhǎng)需要多久1000個(gè)可以爬完。

如果解決了您的問(wèn)題請(qǐng)采納!

如果未解決請(qǐng)繼續(xù)追問(wèn)

python 8個(gè)完數(shù) 運(yùn)算超時(shí)?

在你的這個(gè)思路中,可以優(yōu)化的主要就是幾方面:

1:求因數(shù)可以僅算到n的平方根q為止,對(duì)于n,每有一個(gè)小于q的因數(shù),就有一個(gè)對(duì)應(yīng)的大于q的因數(shù),兩者之積為n。

2:在完數(shù)函數(shù)中已經(jīng)完成了求因數(shù)的工作,不需要另做一次,直接在完數(shù)函數(shù)中拼裝結(jié)果即可。

3:目前來(lái)說(shuō),已知的完全數(shù)都是偶數(shù),因此,最后那行那里可以做num+=2優(yōu)化,但數(shù)學(xué)上目前還沒有證明不存在奇完全數(shù),這種做法從理論上來(lái)說(shuō)是不嚴(yán)謹(jǐn)?shù)摹?/p>

實(shí)際上,當(dāng)一個(gè)數(shù)比較大的時(shí)候,做因數(shù)分解是一個(gè)很費(fèi)時(shí)的工作,要找更大的完數(shù),需要更好的因數(shù)分解的方式。比如先求出所有的質(zhì)因數(shù),在使用這些質(zhì)因數(shù)的組合來(lái)尋找非質(zhì)因數(shù)。因?yàn)橘|(zhì)因數(shù)必然是在質(zhì)數(shù)表中,而質(zhì)數(shù)表可以建立一次然后重復(fù)使用,相對(duì)一個(gè)個(gè)的試商就快得多了。

如果要進(jìn)一步優(yōu)化以尋找更大的完全數(shù),那么,就需要利用更多的關(guān)于完全數(shù)的規(guī)律了,比如,除6以外,其它的完全數(shù)都是9n+1,都是p^2*q……,這些優(yōu)化在你這個(gè)框架下實(shí)現(xiàn)就比較麻煩。

總體來(lái)說(shuō),不解決因數(shù)分解的問(wèn)題,主要就是上述三種優(yōu)化了。

python中調(diào)用兩個(gè)函數(shù),怎樣能不超時(shí)

超時(shí)機(jī)制。python中調(diào)用兩個(gè)函數(shù)需要給函數(shù)設(shè)置超時(shí)機(jī)制,以防止它超時(shí),這里可以用python的signal模塊,signal模塊可以實(shí)現(xiàn)程序內(nèi)部的信號(hào)處理。

40.少有人知的 Python“重試機(jī)制”

為了避免由于一些網(wǎng)絡(luò)或其他不可控因素,而引起的功能性問(wèn)題。比如在發(fā)送請(qǐng)求時(shí),會(huì)因?yàn)榫W(wǎng)絡(luò)不穩(wěn)定,往往會(huì)有請(qǐng)求超時(shí)的問(wèn)題。

這種情況下,我們通常會(huì)在代碼中加入重試的代碼。重試的代碼本身不難實(shí)現(xiàn),但如何寫得優(yōu)雅、易用,是我們要考慮的問(wèn)題。

這里要給大家介紹的是一個(gè)第三方庫(kù) - Tenacity ,它實(shí)現(xiàn)了幾乎我們可以使用到的所有重試場(chǎng)景,比如:

在使用它之前 ,先要安裝它

無(wú)條件重試,重試之間無(wú)間隔

無(wú)條件重試,但是在重試之前要等待 2 秒

只重試7 次

重試 10 秒后不再重試

或者上面兩個(gè)條件滿足一個(gè)就結(jié)束重試

在出現(xiàn)特定錯(cuò)誤/異常(比如請(qǐng)求超時(shí))的情況下,再進(jìn)行重試

在滿足自定義條件時(shí),再進(jìn)行重試。

如下示例,當(dāng) test_retry 函數(shù)返回值為 False 時(shí),再進(jìn)行重試

如果想對(duì)一個(gè)異常進(jìn)行重試,但是最多重試3次。

下面這個(gè)代碼是無(wú)效的,因?yàn)樗鼤?huì)一直重試,重試三次的限制不會(huì)生效,因?yàn)樗臈l件是有順序的,在前面的條件會(huì)先被走到,就永遠(yuǎn)走不到后面的條件。

如果你把 stop_after_attempt 寫到前邊,就沒有問(wèn)題了。

當(dāng)出現(xiàn)異常后,tenacity 會(huì)進(jìn)行重試,若重試后還是失敗,默認(rèn)情況下,往上拋出的異常會(huì)變成 RetryError,而不是最根本的原因。

因此可以加一個(gè)參數(shù)( reraise=True ),使得當(dāng)重試失敗后,往外拋出的異常還是原來(lái)的那個(gè)。

當(dāng)最后一次重試失敗后,可以執(zhí)行一個(gè)回調(diào)函數(shù)

輸出如下

摘自黑魔法手冊(cè)


本文名稱:python函數(shù)超時(shí)重試的簡(jiǎn)單介紹
鏈接URL:http://weahome.cn/article/hpjjgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部