Ejemplo n.º 1
0
        private static void CheckOutputLogs(ProjectDto proj, string simuId)
        {
            var api     = new SimulationsApi();
            var outputs = api.GetSimulationLogs(proj.Owner.Name, proj.Name, simuId.ToString());

            Console.WriteLine(outputs);
        }
Ejemplo n.º 2
0
        private static void CreateSimulation(ProjectDto project)
        {
            // Get project
            var proj = project;


            //Recipe
            var recipeApi = new RecipesApi();
            // why Recipe returns repository
            RepositoryAbridgedDto recipe = recipeApi.ListRecipes(owner: new[] { "ladybug-tools" }.ToList(), _public: true).Resources.First(_ => _.Name == "daylight-factor");


            // create a recipeSelection
            var rec = new RecipeSelection(recipe.Owner.Name, recipe.Name);

            // Upload artifacts
            var dir = @"C:\Users\mingo\Downloads\Compressed\project_folder\project_folder";
            //UploadDirectory(proj, dir);

            // create a recipe argument
            var arg = new Arguments()
            {
                Parameters = new List <ArgumentParameter>()
                {
                    new ArgumentParameter("radiance-parameters", "-I -ab 1 -h"),
                    new ArgumentParameter("sensor-grid-count", "10")
                },
                Artifacts = new List <ArgumentArtifact>()
                {
                    new ArgumentArtifact("input-grid", new ArtifaceSourcePath("model/grid/room.pts")),
                    new ArgumentArtifact("model", new ArtifaceSourcePath("model/"))
                }
            };

            Console.WriteLine("-------------------Arguments:-------------------------");
            Console.WriteLine(arg.ToJson());


            // create a new Simulation
            var api  = new SimulationsApi();
            var simu = new SubmitSimulationDto(rec, arg);

            var ret = api.CreateSimulation(proj.Owner.Name, proj.Name, simu);

            Console.WriteLine(ret.Id);
            Console.WriteLine(ret.Message);


            // check simulation status
            var done = CheckSimulationStatus(proj, ret.Id.ToString()).Result;

            var outputs = api.GetSimulationLogs(proj.Owner.Name, proj.Name, ret.Id.ToString());

            //return recipes;
        }
Ejemplo n.º 3
0
        private static async Task <bool> CheckSimulationStatus(ProjectDto proj, string simuId)
        {
            var api = new SimulationsApi();

            var status    = api.GetSimulation(proj.Owner.Name, proj.Name, simuId);
            var startTime = status.StartedAt.ToUniversalTime();

            while (status.Status == "Running")
            {
                await Task.Delay(1000);

                var runseconds = Math.Round((DateTime.UtcNow - startTime).TotalSeconds);
                Console.WriteLine($"{status.Status}: [{runseconds} s]");

                // update status
                status = api.GetSimulation(proj.Owner.Name, proj.Name, simuId);
            }

            var totalSeconds = Math.Round((DateTime.UtcNow - startTime).TotalSeconds);

            Console.WriteLine($"{status.Status}: [{totalSeconds} s]");

            return(true);
        }
Ejemplo n.º 4
0
 public void Init()
 {
     instance = new SimulationsApi();
 }