Clase SPRunningJob

Se crea un objeto de trabajo en ejecución para cada instancia del trabajo que se está ejecutando, en la tasa de una por cada servidor.

Jerarquía de la herencia

System.Object
  Microsoft.SharePoint.Administration.SPRunningJob

Espacio de nombres:  Microsoft.SharePoint.Administration
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public NotInheritable Class SPRunningJob
'Uso
Dim instance As SPRunningJob
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public sealed class SPRunningJob

Comentarios

Si el trabajo en ejecución está activo en al menos un servidor dentro de la granja de servidores, se marca como activo.

Un único trabajo que se realiza correctamente se elimina de la tabla de trabajos en ejecución. También se elimina su definición del trabajo.

Ejemplos

En el ejemplo de código siguiente se recorre en iteración los servicios en una granja de servidores de SharePoint Foundation para mostrar información sobre cada trabajo que se está ejecutando actualmente para cada servicio. Objetos de SPRunningJob , es de toda la interacción mediante programación con las propiedades; hay métodos disponibles en el objeto SPRunningJobCollection que permiten al implementador interactuar con una instancia específica de un objeto SPRunningJob .

[C#]

SPFarm farm = SPFarm.Local.Farm;
SPServiceCollection services = SPFarm.Local.Services;
int rand_job;
Guid jobdefid;
SPRunningJob rj;
string servername;
string svc_name = string.Empty;
 foreach (SPService service in services) {
  SPRunningJobCollection runningJobs = service.RunningJobs;
  if (runningJobs.Count > 0) {
    if (svc_name == string.Empty) {
      svc_name = service.Name;
    }
    Console.WriteLine("****Job Collection Count is     " + runningJobs.Count);
    Console.WriteLine("****Job Collection Parent is    " + runningJobs.Parent);
    Console.WriteLine("****Job Collection Service is   " + runningJobs.Service);
    Console.WriteLine("****Job Collection Web App is   " + runningJobs.WebApplication);
    // For the GetInstance method, save off job information at random
    rand_job = runningJobs.Count / 2;
    Console.WriteLine("****Collection member " + rand_job + " is " + runningJobs[rand_job].JobDefinition);
    jobdefid = runningJobs[rand_job].JobDefinitionId;
    servername = runningJobs[rand_job].ServerName;
  }
  else {
    jobdefid = Guid.Empty;
    servername = null;
  }
  foreach (SPRunningJob runningJob in runningJobs) {
    Console.WriteLine("****Job Definition is   " + runningJob.JobDefinition);
    Console.WriteLine("****Job Id is           " + runningJob.JobDefinitionId);
    Console.WriteLine("****Job Title is        " + runningJob.JobDefinitionTitle);
    Console.WriteLine("****Parent is           " + runningJob.Parent);
    Console.WriteLine("****Percentage Done is  " + runningJob.PercentageDone);
    Console.WriteLine("****Server Name is      " + runningJob.ServerName);
    Console.WriteLine("****Service Id is       " + runningJob.ServiceId);
    Console.WriteLine("****Start Time is       " + runningJob.StartTime);
    Console.WriteLine("****Status is           " + runningJob.Status);
    Console.WriteLine("****Web App Id is       " + runningJob.WebApplicationId);
    Console.WriteLine("****");
  }
  if (jobdefid != Guid.Empty) {
    // random jobdef from collection 
    // getinstance method
    rj = runningJobs.GetInstance(jobdefid, servername);
    Console.WriteLine("*@@* Job Definition is   " + rj.JobDefinition);
    Console.WriteLine("*@@* Job Id is           " + rj.JobDefinitionId);
    Console.WriteLine("*@@* Job Title is        " + rj.JobDefinitionTitle);
  }
}

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros SPRunningJob

Espacio de nombres Microsoft.SharePoint.Administration

Otros recursos

Crear trabajos de temporizador de Windows SharePoint Services 3.0