【问题标题】:Twitter bot stops after first post after being deployed on HerokuTwitter bot 在部署到 Heroku 后第一次发帖后停止
【发布时间】:2020-10-06 12:39:21
【问题描述】:

我做了一个简单的小推特机器人,它每小时引用一次推文,但由于某种原因,它在发出第一条推文后停止工作。这些是下面的heroku日志:

https://imgur.com/MN2SYOs

看起来“状态”只是从“向上”切换到“向下”,但它没有说明原因。我知道我的代码有效,因为我在本地对其进行了很多测试并且效果很好,所以我不确定这里发生了什么。这是机器人的主要代码:

import tweepy
import time
import sys
import os

#--------------------Twitter credentials---------------------#
from os import environ

#Fill in on Heroku dashboard
CONSUMER_KEY = environ['CONSUMER_KEY']
CONSUMER_SECRET = environ['CONSUMER_SECRET']
ACCESS_KEY = environ['ACCESS_KEY']
ACCESS_SECRET = environ['ACCESS_SECRET']

#---------------------Connect to Twitter---------------------#
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)

#----------------------Generate Tweets-----------------------#
lastTweet = None
num = 1
def createTweet():
    global lastTweet
    global num

    #Get most recent tweet ID
    for status in api.user_timeline('RecursionBot', count = 1):
        tweetID = status.id

    #Attach ID to template URL
    blankURL = 'https://twitter.com/RecursionBot/status/'
    mostRecentTweet = "{}{}".format(blankURL, tweetID)

    #Generate new tweet
    tweet = "Level: {} \n {}".format(num, mostRecentTweet)
    num += 1

    return tweet

#------------------------Post Timer-------------------------#
interval = 60 * 60
while True:
    print("Generating tweet...")
    newTweet = createTweet()
    api.update_status(newTweet)
    time.sleep(interval)

我错过了什么吗?

【问题讨论】:

    标签: python heroku twitter bots


    【解决方案1】:

    Heroku 上在一小时内不执行任何操作的应用程序将被闲置以节省计算资源。您可以在 Heroku 网站上read more about this

    应用程序何时休眠?

    当 Heroku 上的应用只有一个 web dyno 而那个 dyno 没有 在 1 小时内收到任何流量,测功机进入睡眠状态。

    【讨论】:

    • 我对此进行了一些阅读。如果应用程序在 30 分钟后没有收到流量,它就会关闭。问题是我有一个朋友在运行一个非常相似的脚本,他没有任何问题。 procfiles 是相同的。不知道发生了什么。
    猜你喜欢
    • 1970-01-01
    • 2021-04-17
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    相关资源
    最近更新 更多