###前提・実現したいこと
Rubyで書いたTwitterBotプログラムを、Herokuにアップロードして自動実行したい。
###発生している問題・エラーメッセージ
pushしてもHerokuにアップロードされず、herokuのurlにアクセスしても以下のメッセージが出る。
Application error An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.
こちらは$heroku logsした結果の一部です。
2016-11-26T14:09:31.214964+00:00 heroku[router]: at=info code=H81 desc="Blank app" method=GET path="/" host=xyz.herokuapp.com request_id=xyz fwd="000" dyno= connect= service= status=502 bytes= 2016-11-26T14:09:32.244455+00:00 heroku[router]: at=info code=H81 desc="Blank app" method=GET path="/favicon.ico" host=xyz.herokuapp.com request_id=xyz fwd="000" dyno= connect= service= status=502 bytes= 2016-11-26T14:57:53.697036+00:00 heroku[slug-compiler]: Slug compilation started 2016-11-27T09:40:12.223058+00:00 heroku[slug-compiler]: Slug compilation started 2016-11-27T09:40:12.223067+00:00 heroku[slug-compiler]: Slug compilation finished 2016-11-27T09:41:11.105253+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=xyz.herokuapp.com request_id=000 fwd="000" dyno= connect= service= status=503 bytes=
###該当のソースコード config.ru
require ‘./app.rb' run Application
###該当のソースコード app.rb
require
1require 'uri' 2require 'openssl' 3require 'time' 4require 'json' 5require 'nokogiri' 6require 'open-uri' 7require 'twitter' 8require 'post_twitter.rb' 9 10get '/' do 11 'under construction' 12end 13get '/post__twitter' do 14 post_twitter() 15end 16
###該当のソースコード Procfile
web: bundle exec ruby app.rb -p $PORT
###補足情報(言語/FW/ツール等のバージョンなど)
これまでロリポップとFTPクライアントを使っていたため、gitやHerokuの仕組みがよく分かっていません。
config.ruやapp.rbがなくても、Rubyプログラムだけアップロードすればいいというものではないのでしょうか。
RailsではなくRubyプログラムなので、config.ruやapp.rbといったファイルは必要ないのでしょうか?
追記
Procfileの記述をweb: bundle exec ruby post_twitter.rb -p $PORTとして、ターミナルで$heroku restart web.1してHerokuにアクセスしたら、無事Twitterに投稿されました。ただ、すぐにサーバーが止まってしまうので、また$heroku restart web.1しなければなりません。ずっとサーバーを起動させておく方法はあるのでしょうか。
あなたの回答
tips
プレビュー