Ошибка при развертывании Python в Heroku с ошибкой кода 503 - PullRequest
0 голосов
/ 03 августа 2020

Я делаю простую диаграмму анализа настроений, используя Twitter API. он отлично работает на локальном хосте, а затем я пытаюсь развернуть приложение на Heroku.

Мне удалось показать 3 твита , но когда я пытаюсь получить 100 твитов, я получил Ошибка: не удалось загрузить ресурс: сервер ответил статусом 503 (служба недоступна)

вот мой код для развертывания

    import os
    from flask import Flask, request, render_template, jsonify
    from twitter import TwitterClient
    
    app = Flask(__name__)
    api = TwitterClient('@halowidy')
    
    def strtobool(v):
        return v.lower() in ["yes", "true", "t", "1"]
    
    
    @app.route('/')
    def index():
        return render_template('latihan.html')
    
    
    @app.route('/tweets')
    def tweets():
            retweets_only = request.args.get('retweets_only')
            api.set_retweet_checking(strtobool(retweets_only.lower()))
            with_sentiment = request.args.get('with_sentiment')
            api.set_with_sentiment(strtobool(with_sentiment.lower()))
            query = request.args.get('query')
            api.set_query(query)
            lang = request.args.get('lang')
            api.set_lang(lang)
            tweet_mode = request.args.get('text_mode')
            api.set_tweet_mode(tweet_mode)
            tweets = api.get_tweets()
            return jsonify({'data': tweets,'count': len(tweets)})
    
    # port = int(os.environ.get('PORT', 5010))
    # app.run(host="0.0.0.0", port=port, debug=True)
    if __name__ == '__main__':
        app.run()

и еще один код для получения данных:

class TwitterClient(object):

    def __init__(self, query, lang='id', retweets_only=False, with_sentiment=False, tweet_mode='extended'):
        # Key dan Token Twitter API
        consumer_key = 'aa'
        consumer_secret = 'zz'
        access_token = 'yy'
        access_token_secret ='xx'
        # Attempt authentication
        try:
            self.auth = OAuthHandler(consumer_key, consumer_secret)
            self.auth.set_access_token(access_token, access_token_secret)
            self.query = query
            self.lang = lang
            self.retweets_only = retweets_only
            self.with_sentiment = with_sentiment
            self.api = tweepy.API(self.auth, timeout=500)
            self.tweet_count_max = 100
            self.tweet_mode = tweet_mode
        except:
            print("Error: Authentication Failed")

После получения данных из Twitter API данные будут классифицированы. Спасибо за помощь

...