How to get the list of active jobs ID for a specific Node Group using C# API
-
24 октября 2011 г. 14:38
In my application I need to get the list of active jobs ID for a specific Node Group that the user chooses.
how can i get it using C#?
Thanks ,
Ben
Все ответы
-
27 октября 2011 г. 21:57
You might start by reviewing IScheduler.GetJobList() (http://msdn.microsoft.com/en-us/library/microsoft.hpc.scheduler.ischeduler.getjoblist(VS.85).aspx).
Filtering by nodegroup membership might take some work but with GetJobList() you should be able to get the information you seek.
daryl
-
30 октября 2011 г. 14:27
Hi Daryl,
I would appreciate if I can get an example.
Thanks,
Ben
-
1 ноября 2011 г. 22:00
Since nodegroups cannot be used as a filter criteria, this must be implemented on the client side.
Assuming "active" means "running" we get:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Hpc.Scheduler;
using Microsoft.Hpc.Scheduler.Properties;namespace Sample
{
class Program
{
static void Main(string[] args)
{
IScheduler scheduler = new Scheduler();scheduler.Connect("localhost");
IFilterCollection filter = scheduler.CreateFilterCollection();
FilterProperty filStateRunning = new FilterProperty(FilterOperator.Equal, JobPropertyIds.State, JobState.Running);filter.Add(filStateRunning);
// now fetch the list of all jobs that satisfy the filter
ISchedulerCollection jobs = scheduler.GetJobList(filter, null /* no sort order specified */);// build this list of jobs in desired nodegroup.
List<ISchedulerJob> jobsInNodegroup = new List<ISchedulerJob>;// walk the filtered collection, look for jobs in desired nodegroup
foreach (object obj in jobs)
{
if (obj is ISchedulerJob)
{
ISchedulerJob job = obj as ISchedulerJob;if (job.NodeGroups.Contains("ComputeNodes")) //<<-- put desired nodegroup here
{
jobsInNodegroup.Add(job);
}
}
}// use "jobsInnodegroup" here
}
}
}- Предложено в качестве ответа DarylMsft 1 ноября 2011 г. 22:00
- Изменено DarylMsft 1 ноября 2011 г. 22:01
- Изменено DarylMsft 1 ноября 2011 г. 22:06 fix up formatting
- Изменено DarylMsft 1 ноября 2011 г. 22:16 formating battles
- Помечено в качестве ответа Ben.Alterzon 3 ноября 2011 г. 12:48