Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
An example Akka/Scala application on Heroku, created by Typesafe
Scala
Tree: 6a9b1a74a1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
common/src
indexer/src
project
web/src/main
.gitignore
Procfile
README.md

README.md

Web Words, an example Akka/Scala application ready to run on Heroku.

Created by Typesafe, http://typesafe.com/

See it live!

A live demo of the Web Words app may be running at

http://radiant-winter-3539.herokuapp.com/

If it's down, try again later, or deploy the app yourself! (See below for instructions.)

Overview

Unlike the usual "Hello, World" this example shows off quite a few different features of the Akka and Heroku platforms. There's a fair amount of code here, but of course you can zoom in and look at the part you care about.

The "point" of the app (if you can call it that) is to do a shallow spider of a web site and compute some information about it, namely word counts and a list of links found on the site.

The app shows:

  • how to use Akka to write a highly parallel application in functional style, as an alternative to java.util.concurrent
  • how to deploy it on Heroku including how to use addons and multiple processes

You can run the app using free price tiers from Heroku, MongoHQ, and RabbitMQ. You can also run it locally, of course.

A request step-by-step

If you follow an incoming request to the app, here's what the app shows you:

Build and deploy

The build for the app illustrates:

How to run it locally

  • Run sbt stage to stage the app (sbt must be sbt 0.10, not 0.7)
  • Install and start up MongoDB
  • Install and start up RabbitMQ Server
  • Launch the app as specified in Procfile if you have Heroku tools installed
    • run foreman start --port 8080
  • OR launch the app manually
    • run indexer/target/start to run the indexer process
    • in another terminal, run web/target/start to run the web process
  • Now open http://localhost:8080 in a browser

How to run it on Heroku

  • Install the Heroku tools; be sure heroku is on your path
  • Type these commands inside the application's git clone:
    • heroku create --stack cedar
    • heroku addons:add mongohq
    • heroku addons:add rabbitmq
    • git push heroku master
    • heroku scale web=1 indexer=1
    • heroku restart
    • heroku open

Enjoy

Learn more about the Scala and Akka stack at http://typesafe.com/ !

Something went wrong with that request. Please try again.