2017-10-14 130 views
0

我有我想保持基本無限期地運行腳本,它的作用是監視API,如果某些條件得到滿足發出鳴叫。該腳本看起來像這樣Tweepy - 能持續多久的API會話保持開放

while True: 
    #API CONDITION CHECKS HERE 
    if api_condition_check: 
     auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
     auth.set_access_token(access_token, access_token_secret) 
     api = tweepy.API(auth) 
     tweet = "This is the tweet." 
     if api.update_status(tweet): 
      print "Tweet Succeeded" 
    sleep(60) 

的腳本設置運行時,一個插座,有cron作業檢查鎖定並重新啓動,以處理崩潰的腳本,斷絕重啓等

什麼我不確定的是,如果我可以把api創作元素while循環,永遠跑之外,沒有這種API對象超時什麼的。所以基本上代碼應該是這樣的

auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_token, access_token_secret) 
api = tweepy.API(auth) 

while True: 
    #API CONDITION CHECKS HERE 
    if api_condition_check: 
     tweet = "This is the tweet." 
     if api.update_status(tweet): 
      print "Tweet Succeeded" 
    sleep(60) 

第二種方式是指代碼不必每次都重新創建的API對象,但它可能是鳴叫和代碼之間數小時的時間,星期可以運行假設沒有錯誤或服務器問題,那麼如果僅在腳本啓動時創建api對象,它會超時嗎?

回答

1

會如果腳本啓動時,它不僅創造了API對象超時?

根據我的經驗,沒有。 Tweepy所做的就是取得你的密鑰&令牌,並用它來簽署你所做的任何請求。

唯一的問題就來了,如果你(或你的用戶)通過將Twitter的設置和撤銷程序刪除授權。

+0

謝謝,多數民衆贊成在知道。 – jskrwyk