-
Notifications
You must be signed in to change notification settings - Fork 277
AppManager
Executive Summary: Configures and deploys Applications on a given node.
Google App Engine applications need to be started in a way that is fault tolerant and monitored for resource consumption.
It is a REST based service that receives requests from the AppController. Requests are sent in json format. The primary requests are to start and stop applications on the node that the AppManager is running on. The AppManager will create a start and stop command and use Monit to run it. It runs Python, Java, Go, and PHP applications.
When the application is first uploaded, and subsequent uploads when you want to re-upload the application.
AppManager runs on all nodes.
AppManager code is written in Python, although the start scripts for the REST server (app_manager_server.py) and starting the Monit daemon are in Ruby. The code can be found in appscale/AppManager. The high level web service is app_manager_server.py and runs on port 49934. Processes that are started by the AppManager will have logs in /var/log/appscale/ and start with "app___". And the log for the AppManager itself is in this directory as well.
Tests are written with test/unit and flexmock. They can be found in appscale/AppManager/test/unit. You can go into this directory and run "nosetest" to run just the tests for this component.