2016-06-01 7 views
1

telegram botを実行するコードを持つ.pyファイルがあります。ローカルマシンで正常に動作しますが、herokuにコードをプッシュすると、ファイルが実行されていませんメッセージを送受信するのに、herokuにbashを入力して.pyファイルを手動で実行すると正常に動作します。
Procfileにいくつか変更を加えましたが、heroku.pyファイルを自動的に実行するように指示する方法はわかりません。
またフラスコのアプリケーションの中に私のbotコードをラップしようとしましたが、もう一度ローカルマシンで動作しますが、herokuではフラスコの要求は正常に処理されましたが、コード内のボットは再び機能しません。herokuでpython電文ボットをホストしています

from flask import Flask 
import time 
import os 
import telepot 
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy import create_engine, Column, Integer, PickleType, String 
from sqlalchemy.orm import sessionmaker 
from flask.ext.heroku import Heroku 

app = Flask(__name__) 
app.config['SECRET_KEY'] = "random string" 
heroku = Heroku(app) 

@app.route('/') # the requests handled successfully! 
def hello_world(): 
    return 'Hello World!' 

# the bot code deleted to simplify 

uri = os.environ.get('DATABASE_URL') 
engine = create_engine(uri) 
Base = declarative_base() 


if __name__ == '__main__': 
    Base.metadata.create_all(engine) 
    global session 
    Session = sessionmaker(bind=engine) 
    session = Session() 

    TOKEN = 'token' 

    bot = MyBot(TOKEN) # the bot stuff here 
    bot.message_loop() # but the bot stuff just doesn't work 

    # i also removed incoming 2 lines and let it be the default but has no effect 
    port = int(os.environ.get("PORT", 5000)) 

    app.run(host='0.0.0.0', port=port) 
    while 1: 
     time.sleep(10) 

    engine.dispose() 

が、私はエラーがなかったherokuからのログをチェックしますが、botコードは動作しません:
はここのコードです。
フープフラスコの問題は何ですか?botそして、どうすれば単にherokuにpythonファイルを実行してそれを聞かせることができますか?

web: python web.py 

web.pyは、スクリプトの名前です:

答えて

2

たぶん、あなたはProcfile、このような文字列に配置する必要があります。

また、すべての依存関係を含むrequirements.txtファイルをチェックしてください。この記事on Heroku Dev Centerを見てください。

アプリケーションを実行してエラーが発生した場合は、Herokuログを確認してください。ヘロクダッシュボードでログを確認するには、右端のボタンMore - >View logsをクリックします。

関連する問題