SPWorkItemJobDefinition class
Serve como a classe base para derivar definições dos trabalhos de timer de item de trabalho. Essa classe funciona com o trabalho de timer (SPTimerService) para processar os itens de trabalho (instâncias deSPWorkItem ).
Inheritance hierarchy
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Microsoft.SharePoint.Administration.SPJobDefinition
Microsoft.SharePoint.Administration.SPPausableJobDefinition
Microsoft.SharePoint.Administration.SPWorkItemJobDefinition
Namespace: Microsoft.SharePoint.Administration
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
<GuidAttribute("611573DB-FDED-471e-9249-D899956FBD3F")> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Class SPWorkItemJobDefinition _
Inherits SPPausableJobDefinition
'Uso
Dim instance As SPWorkItemJobDefinition
[GuidAttribute("611573DB-FDED-471e-9249-D899956FBD3F")]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class SPWorkItemJobDefinition : SPPausableJobDefinition
Comentários
Essa classe trabalha em conjunto com as classes SPWorkItem e SPWorkItemCollection . Você deve usar a classe de coleção ao qual o objeto SPSite tem acesso para adicionar itens de trabalho para a fila de processamento. Quando o trabalho de timer de item de trabalho é executado, ele extrai itens da fila de trabalho em lotes com base no tipo de item de trabalho (Type). Itens de trabalho são fornecidos para o método de ProcessWorkItems em pedidos de cluster, que é especificado usando o BatchId.
Você deve substituir dois métodos dessa classe: WorkItemType e ProcessWorkItems. No entanto, observe que há duas variantes do método ProcessWorkItems :
É importante observar o valor de LockType selecionado para a definição de trabalho. (Consulte a enumeração SPJobLockType .)
Se o tipo de bloqueio for ContentDatabase, o trabalho de timer bloqueia um banco de dados inteiro (instância deSPContentDatabase ) e processa todos os itens de trabalho executáveis no banco de dados (e seus conjuntos de sites) antes de passar para o próximo. Na maioria dos casos, esse é um método automático limitante.
Se o tipo de bloqueio for None, você pode ter vários computadores front-end, trabalhando com o trabalho de timer especificado, que oferece um desempenho muito maior. Quando você não estiver usando bloqueios o trabalho de timer, lidar com os itens de trabalho propriamente ditos (que são automaticamente bloqueio) bloqueio de item de trabalho. Tipo de bloqueio None é o valor padrão.
LockType valor Job fornece bloqueios no nível do trabalho de timer e impede que o trabalho seja executado em mais de um computador ao mesmo tempo.
Em geral, a menos que você tenha um motivo específico e convincente para bloquear um todo banco de dados de conteúdo, é recomendável que você não use bloqueios (ou seja, use o padrão, None).
A diferença entre as duas variantes do método ProcessWorkItems em que o segundo fornece um parâmetro Boolean , continueProcessing. Trabalho de definições criadas usando este construtor quando o tipo de bloqueio é None, funcionam itens continuam a processar até que permaneçam sem itens de trabalho.
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
SPWorkItemJobDefinition members
Microsoft.SharePoint.Administration namespace
Microsoft.SharePoint.Administration.SPTimerService
Microsoft.SharePoint.SPWorkItem
Microsoft.SharePoint.SPWorkItemCollection
Microsoft.SharePoint.Administration.SPJobLockType