ecological-engine-smart-exe.../src/test/java/org/gcube/dataanalysis/executor/tests/TestD4ScienceQueueMultipleM...

114 lines
3.7 KiB
Java

package org.gcube.dataanalysis.executor.tests;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.user.GeneratorT;
import org.gcube.dataanalysis.executor.generators.D4ScienceDistributedProcessing;
public class TestD4ScienceQueueMultipleMaps {
public static void main(String[] args) throws Exception {
String configPath = "./cfg/";
// String csquareTable = "hcaf_d";
String csquareTable[] = {"hcaf_d",
"hcaf_d_2018_LINEAR_01341919234605",
"hcaf_d_2024_LINEAR_11341919235343",
"hcaf_d_2030_LINEAR_21341919235554",
"hcaf_d_2036_LINEAR_31341919235781",
"hcaf_d_2042_LINEAR_41341919235986",
"hcaf_d_2050"
};
String years[] = {
"2012",
"2018",
"2024",
"2030",
"2036",
"2042",
"2050"
};
String preprocessedTable = "maxminlat_hspen";
String envelopeTable = "hspen_mini_10";
int numberOfResources = 1;
String userName = "gianpaolo.coro";
String generatorName = "AQUAMAPS_SUITABLE";
String scope = "/gcube";
int k = 2;
long t0= System.currentTimeMillis();
String finalDistributionTable = null;
for (int i = 0; i < k; i++) {
finalDistributionTable = "hspec_suitable_executor_" + years[i];
System.out.println("Generating hspec "+finalDistributionTable);
AlgorithmConfiguration config = GeneratorT.getGenerationConfig(numberOfResources, generatorName, envelopeTable, preprocessedTable, "", userName, csquareTable[i], finalDistributionTable, configPath);
config.setPersistencePath("./");
config.setGcubeScope(scope);
config.setParam("ServiceUserName", "gianpaolo.coro");
config.setParam("DatabaseUserName", "utente");
config.setParam("DatabasePassword", "d4science");
config.setParam("DatabaseURL", "jdbc:postgresql://dbtest.research-infrastructures.eu/aquamapsorgupdated");
config.setParam("DatabaseDriver", "org.hibernate.dialect.PostgreSQLDialect");
config.setTableSpace("tbsp_1");
Thread t = new Thread((new TestD4ScienceQueueMultipleMaps()).new ThreadGenerator(config));
t.start();
// generate(config);
}
long t1= System.currentTimeMillis();
System.out.println("OVERALL LAUNCH TIME COMPUTATION ON "+k+" REQUESTS IS "+(t1-t0));
}
public class ThreadGenerator implements Runnable {
AlgorithmConfiguration c;
public ThreadGenerator(AlgorithmConfiguration c) {
this.c = c;
}
public void run() {
try {
generate(c);
} catch (Exception e) {
}
}
}
static long globalt0=System.currentTimeMillis();
static long total=0;
public static void generate(AlgorithmConfiguration config) throws Exception {
D4ScienceDistributedProcessing generator = new D4ScienceDistributedProcessing(config);
generator.init();
if (generator != null) {
long t0 = System.currentTimeMillis();
TestGenerator tgs = new TestGenerator(generator);
Thread t = new Thread(tgs);
t.start();
while (generator.getStatus() < 100) {
String resLoad = generator.getResourceLoad();
String ress = generator.getResources();
String species = generator.getLoad();
System.out.println("LOAD : " + resLoad);
System.out.println("RESOURCES: " + ress);
System.out.println("SPECIES: " + species);
System.out.println("STATUS: " + generator.getStatus());
Thread.sleep(10000);
}
System.out.println("FINAL STATUS: " + generator.getStatus() + " ELAPSED " + (System.currentTimeMillis() - t0));
} else
System.out.println("Generator Algorithm Not Supported");
total = System.currentTimeMillis()-globalt0;
System.err.println("TOTAL TIME: " + total);
// generator.generate();
// }
}
}