Tweepy - API 会话可以保持打开多长时间

Tweepy - How long can an API session be kept open

我有一个脚本,我想基本上无限期地保持 运行ning,它的作用是监视 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)

脚本在 运行ning 时设置一个套接字,并有一个 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 对象是否会超时,如果它仅在脚本启动时创建?

will the api object timeout if it's only created when the script starts?

根据我的经验,不会。 Tweepy 所做的就是拿走你的密钥和令牌,并用它来签署你提出的任何请求。

唯一的问题是,如果您(或您的用户)通过转到 Twitter 的设置并撤销应用程序来删除授权。