diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java index be2e402207a2bc1e75f961dad4f275ee0f9f580b..cebf0413a7105738a3f1efa9e52b6117f5fcfc50 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java @@ -32,6 +32,7 @@ import cz.it4i.fiji.haas_java_client.JobState; import cz.it4i.fiji.haas_java_client.ProgressNotifier; import cz.it4i.fiji.haas_java_client.TransferFileProgressForHaaSClient; import cz.it4i.fiji.haas_java_client.UploadingFile; +import cz.it4i.fiji.haas_java_client.UploadingFileData; import cz.it4i.fiji.scpclient.TransferFileProgress; /*** @@ -484,4 +485,10 @@ public class Job { setProperty(JOB_CAN_BE_DOWNLOADED, b); } + public void createEmptyFile(String fileName) throws InterruptedIOException { + try(HaaSFileTransfer transfer = haasClientSupplier.get().startFileTransfer(getId())) { + transfer.upload(new UploadingFileData(fileName)); + } + } + } diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileData.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileData.java new file mode 100644 index 0000000000000000000000000000000000000000..20dbab9975af5e56ded16724ba7ad01b08091397 --- /dev/null +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileData.java @@ -0,0 +1,42 @@ +package cz.it4i.fiji.haas_java_client; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; + +public class UploadingFileData implements UploadingFile { + + private final byte[] data; + private final String name; + + + public UploadingFileData(String name, byte[] data) { + this.data = data; + this.name = name; + } + + public UploadingFileData(String string) { + this(string, new byte[0]); + } + + @Override + public InputStream getInputStream() { + return new ByteArrayInputStream(data); + } + + @Override + public String getName() { + return name; + } + + @Override + public long getLength() throws IOException { + return data.length; + } + + @Override + public long getLastTime() { + return 0; + } + +} diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java index 6adb39da9d45081acb12fc4e7747e0872f12f7ee..09e02548ab1cc34e239478f0ab9ea37f1dc376fb 100644 --- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java +++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java @@ -36,7 +36,7 @@ public class TestHaaSJavaClient { JobInfo info; do { try { - Thread.sleep(30000); + Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } @@ -52,7 +52,7 @@ public class TestHaaSJavaClient { client.getChangedFiles(jobId).forEach(file -> wrap(() -> fileTransfer.download(file, workDir))); } } - log.info("JobId :" + jobId + ", state" + info.getState()); + log.info("JobId :" + jobId + ", state - " + info.getState()); } while (info.getState() != JobState.Canceled && info.getState() != JobState.Failed && info.getState() != JobState.Finished); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java index 1a119a54ecefba0003f64dbcb85c12f8e6e3d0cf..26cb12a9d9275145394745af61ac028f6541a3d3 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java @@ -536,6 +536,9 @@ public class BenchmarkJobManager implements Closeable { public BenchmarkJob createJob(Function<Path, Path> inputDirectoryProvider, Function<Path, Path> outputDirectoryProvider) throws IOException { Job job = jobManager.createJob( getJobSettings(),inputDirectoryProvider, outputDirectoryProvider); + if(job.getInputDirectory() == null) { + job.createEmptyFile(Constants.DEMO_DATA_SIGNAL_FILE_NAME); + } return convertJob(job); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Constants.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Constants.java index 75af41aa70f0508fa426b89efe48cf0127f5a784..79b451ac0d9901466ebfa4609d16d9a604ccb98f 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Constants.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Constants.java @@ -55,5 +55,6 @@ public interface Constants { String SUMMARY_FILE_HEADER = "Task;AvgMemoryUsage;AvgWallTime;MaxWallTime;TotalTime;JobCount"; String DONE_TASK = "done"; int CORES_PER_NODE = 24; + String DEMO_DATA_SIGNAL_FILE_NAME = "demodata"; }