I'd like to recommend a change.  If jobs fail to run during functional tests, I'd like to keep the failed job files around to be examined.  I added the following to do so:

+++ scripts/functional_tests.py
@@ -372,6 +372,7 @@ def main():
                        user_library_import_dir=user_library_import_dir,
                        master_api_key=master_api_key,
                        use_tasked_jobs=True,
+                       cleanup_job='onsuccess'
         )
         if install_database_connection is not None:
             kwargs[ 'install_database_connection' ] = install_database_connection