예제 #1
0
        private static void SubmitViaAPI1(ClusterSubmitterArgs clusterArgs, IDistributable distributableObj)
        {
            Console.WriteLine("Submitting using API version 1");

            v1.ICluster cluster = new v1.Cluster();
            cluster.Connect(clusterArgs.Cluster);


            foreach (v1.ITask task in EnumerateTasks(clusterArgs, distributableObj))
            {
                v1.IJob job = CreateJobApi1(cluster, (v1.JobPriority)clusterArgs.ApiPriority, task, task.Name);
                cluster.QueueJob(job, clusterArgs.Username, clusterArgs.Password, true, 0);
            }
            Console.WriteLine();
        }
예제 #2
0
        private static v1.IJob CreateJobApi1(v1.ICluster cluster, v1.JobPriority priority, v1.ITask task, string runName)
        {
            v1.IJob job = cluster.CreateJob();

            job.Name = runName; // Helper.CreateDelimitedString(" ", runName, firstPieceIndex + "-" + lastPieceIndex);
            Helper.CheckCondition(job.Name.Length < 80, "Job name is too long. Must be < 80 but is " + job.Name.Length + ". " + job.Name);
            Console.Write("\r" + job.Name);

            job.AddTask(task);
            job.Runtime     = task.Runtime;
            job.IsExclusive = false;
            job.MinimumNumberOfProcessors = 1;
            job.MaximumNumberOfProcessors = 1;
            job.Priority = priority;

            return(job);
        }