NREL/OpenStudio — pull request #850 by lefticus (2014-02-13 23:15:43+00:00)
Title: 64719950 64720032 asset score run manager support

I believe this meets the requirements.

The RunManagerWatcher class allows for everything from high level to very granular monitoring of RunManager and Job activity.

https://github.com/NREL/OpenStudio/blob/64719950_64720032_AssetScore_RunManager_Support/openstudiocore/ruby/openstudio/runmanager/test/RunManagerWatcher_Test.rb

See the "RunManagerWatcherImpl" class for how to do high level monitoring of Job status. Note also that if jobs have been merged together the `jobFinishedDetails` callback provides a callback for each job, whether or not it had been merged. This is by far the easiest way to get details about jobs as they complete.

`RunManager::runWorkflow` takes a JSON file as input, builds a workflow, queues it up for execution and returns a handle to the job tree it created.

The unit test https://github.com/NREL/OpenStudio/blob/64719950_64720032_AssetScore_RunManager_Support/openstudiocore/src/runmanager/lib/Test/RunJSONWorkflow_GTest.cpp shows how to set up the test and the test folders at: https://github.com/NREL/OpenStudio/tree/64719950_64720032_AssetScore_RunManager_Support/openstudiocore/resources/runmanager/jsonworkflowtest contain the files used in the test.

Note that the required OSM to run the test is not checked in, it is generated at runtime with the `Model::exampleModel()` function.