SPRunningJob class

Um objeto de trabalho em execução é criado para cada instância do trabalho que está em execução, a taxa de um por servidor.

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.Administration.SPRunningJob

Namespace:  Microsoft.SharePoint.Administration
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
<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

Comentários

Se o trabalho em execução está ativo em pelo menos um servidor no farm, ela é marcada como ativa.

Um trabalho único que é concluída com êxito é excluído da tabela de trabalhos em execução. Sua definição de trabalho também será excluída.

Examples

O exemplo de código a seguir itera através os serviços em um farm de SharePoint Foundation para exibir informações sobre cada trabalho atualmente em execução para cada serviço. Para objetos de SPRunningJob , toda a interação através de programação é com propriedades; Há métodos no objeto SPRunningJobCollection que permitem que o implementador interajam com uma instância específica de um 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);
  }
}

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Ver também

Referência

SPRunningJob members

Microsoft.SharePoint.Administration namespace

Outros recursos

Criando trabalhos de Timer personalizado no Windows SharePoint Services 3.0