/// <summary> /// Distributes the task over HPC /// </summary> /// <param name="distributableObject">distributable task</param> public override void Distribute(IDistributable distributableObject) { this.Name = distributableObject.JobName; ClusterSubmitter.SubmitAndWait(this, distributableObject, MaxSubmitAfterTasksFail, OnSubmitted); CopyResults.AddRange(ArgumentCollection.EnumerateValuesOfTypeFromParsable <OutputFile>(distributableObject).Select(file => file.ToString()).Distinct().Where(s => s != "-")); if (CopyResults.Count > 0) { HpcLib.CopyFiles(CopyResults, ExternalRemoteDirectoryName, Environment.CurrentDirectory); } }
/// <summary> /// Copies input files /// </summary> /// <param name="filesToCopy">list of input files</param> /// <param name="baseDestnDir">target dir</param> public static void CopyInputFiles(List <string> filesToCopy, string baseDestnDir) { HpcLib.CopyFiles(filesToCopy, Environment.CurrentDirectory, baseDestnDir); }