title: Boot timeout when deploying an sbt project to heroku
body: <p>I have a microservice written in Scala that primarily runs scheduled jobs. It's not a play app. The main function just sets up the scheduled jobs. For example </p>
  
  <pre><code>import cronish.dsl._
  
  object workers {
    def main(args: Array[String]) : Unit = {
      val payroll: CronTask = task {
        println("Syncing Payroll...")
      }
      payroll executes "every 5 minutes"
  
    }
  }
  </code></pre>
  
  <p>I deployed this to Heroku and while the job begins to run as expected, Heroku kills it every single time after 60 seconds.</p>
  
  <pre><code>Syncing Payroll...
  Error R10 (Boot timeout) -&gt; Web process failed to bind to $PORT within 60 seconds of launch
  Stopping process with SIGKILL
  Process exited with status 137
  State changed from starting to crashed
  </code></pre>
  
  <p>I've followed the <a href="https://devcenter.heroku.com/articles/deploying-scala" rel="nofollow noreferrer">official Heroku documentation</a>. Here is what my build.sbt looks like</p>
  
  <pre><code>name := "AppName"
  version := "0.1"
  scalaVersion := "2.11.9"
  enablePlugins(JavaServerAppPackaging)
  
  libraryDependencies += "com.smartsheet" % "smartsheet-sdk-java" % "2.2.2"
  libraryDependencies += "com.github.philcali" %% "cronish" % "0.1.3"
  libraryDependencies +=  "org.scalaj" %% "scalaj-http" % "2.3.0"
  ....
  </code></pre>
  
  <p>and I've added both of the Heroku plugins to the plugins.sbt file as well</p>
  
  <pre><code>addSbtPlugin("com.heroku" % "sbt-heroku" % "2.0.0")
  addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.1")
  </code></pre>
  
  <p>It runs totally fine on development if I use sbt run. I'm thinking that Heroku is expecting this service to be a web server so it keeps trying to attach it to an open port however since this service is not a web-server it can't do that. Is it possible to deploy such microservices to Heroku? Do it need to use a custom build pack?</p>