git - Heroku does not seem to run most recent version of deployed play application -


yesterday pushed update heroku application online version not seem execute recent code. specifically, new route added results in "action not found" error visible here , akka job schedule in global.onstart not started. not writing log @ least.

my conf/routes file contains line

get     /json/matches               controllers.feeddaemon.matches() 

the corresponding controller exists , implements action

def matches = action { implicit request =>     ok(cache.get(keymatches) match {       case some(o)  => o.asinstanceof[string]       case none => ""     }) } 

needless say, works locally. heroku build did not report errors , went through.

i'm using play 2.2.2. application contains git submodule , sbt multi project build. heroku detects git submodule though. if multi project problem, i'd expect build errors or classnotfoundexceptions though.

the answer pretty simple. in versions before 2.2, play framework created startup script @ location target/start heroku procfile have looked like

web: target/start -dhttp.port=$port $java_opts 

this changed in play 2.2 , script @ location target/universal/stage/bin/foo procfile should this

web: target/universal/stage/bin/foo -dhttp.port=$port $java_opts 

this has been explained in so answer

in case, old application started because build output never cleaned, started old version after building new 1 instead of getting target/start file not found error.

the heroku-repo plugin let me clear build cache, lead target/start file not found error, let solution.


Comments

Popular posts from this blog

jQuery Mobile app not scrolling in Firefox -

c++ - How to add Crypto++ library to Qt project -

php array slice every 2th rule -