コード例 #1
0
        public async Task <Dictionary <string, BenchmarkResult> > RunOrchestrator(
            [OrchestrationTrigger] DurableOrchestrationContext context)
        {
            var benchmarkResults = new Dictionary <string, BenchmarkResult>
            {
                { "TextDiffer", new BenchmarkResult() },
                //{"JsonDiffer", new BenchmarkResult()},
                { "BinaryDiffer", new BenchmarkResult() },
                { "GeomDiffer", new BenchmarkResult() }
            };

            var differs = new Dictionary <string, string>
            {
                { "TextDiffer", "Function_TextDiffer" },
                //{"JsonDiffer", "Function_JsonDiffer"},
                { "BinaryDiffer", "Function_BinaryDiffer" },
                { "GeomDiffer", "Function_GeomDiffer" }
            };


            //var reader = new GeometryReader("osm_test.point_versions", "osm_test.nodes");

            while (true)
            {
                var data = _geometryReader.GetNext();
                if (data == null)
                {
                    break;
                }

                foreach (var(name, function) in differs)
                {
                    var result = await context.CallActivityAsync <DiffResult>(function, data);

                    benchmarkResults[name].Add(result);
                }
            }

            return(benchmarkResults);
        }