2017-10-14 134 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