Clase SPWorkItemJobDefinition

Actúa como la clase base para derivar las definiciones de trabajos del temporizador de elemento de trabajo. Esta clase funciona con el trabajo del temporizador (SPTimerService) para procesar los elementos de trabajo (instancias deSPWorkItem ).

Jerarquía de la herencia

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.Administration.SPPersistedObject
      Microsoft.SharePoint.Administration.SPJobDefinition
        Microsoft.SharePoint.Administration.SPPausableJobDefinition
          Microsoft.SharePoint.Administration.SPWorkItemJobDefinition

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

Sintaxis

'Declaración
<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

Comentarios

Esta clase trabaja en colaboración con las clases SPWorkItem y SPWorkItemCollection . Debe usar la clase de colección a la que el objeto SPSite tiene acceso, para agregar elementos de trabajo a la cola de procesamiento. Cuando se ejecuta el trabajo del temporizador de elemento de trabajo, extrae los elementos de trabajo de la cola en lotes que se basan en el tipo de elemento de trabajo (Type). Elementos de trabajo se entregan al método ProcessWorkItems en orden de clúster, que se especifica mediante el BatchId.

Debe reemplazar dos métodos de esta clase: WorkItemType y ProcessWorkItems. Sin embargo, tenga en cuenta que existen dos variantes del método ProcessWorkItems :

Es importante tener en cuenta el valor de LockType seleccionado para la definición del trabajo. (Vea la enumeración SPJobLockType ).

Si el tipo de bloqueo es ContentDatabase, su trabajo del temporizador bloquea una base de datos de contenido completa (instancia deSPContentDatabase ) y procesa todos los elementos de trabajo ejecutables en esa base de datos (y sus colecciones de sitios) antes de pasar al siguiente. En la mayoría de los casos, este es un método sin limitación.

Si el tipo de bloqueo es None, puede tener varios equipos front-end, trabajar con el trabajo del temporizador especificado, que proporciona un rendimiento mucho mayor. Si no está usando bloqueos en el trabajo del temporizador, los elementos de trabajo a sí mismos (que están sin bloqueo) abarcar bloqueo del elemento de trabajo. Tipo de bloqueo None es el valor predeterminado.

LockType valor Job proporciona bloqueos en el nivel del trabajo del temporizador y se impide que el trabajo se ejecuten en más de un equipo a la vez.

Por lo general, a menos que tenga una razón específica y atractiva para bloquear una base de datos de contenido completa, se recomienda no usar bloqueos (es decir, utilice el valor predeterminado, None).

La diferencia entre las dos variantes del método ProcessWorkItems en el el segundo proporciona un parámetro de Boolean , continueProcessing. En el trabajo definiciones creadas mediante este constructor, cuando el tipo de bloqueo es None, trabajar elementos continúan procesamiento hasta que no queden ningún elemento de trabajo.

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 SPWorkItemJobDefinition

Espacio de nombres Microsoft.SharePoint.Administration

Microsoft.SharePoint.Administration.SPTimerService

Microsoft.SharePoint.SPWorkItem

SPWorkItem.Type

Microsoft.SharePoint.SPWorkItemCollection

SPJobDefinition.LockType

Microsoft.SharePoint.Administration.SPJobLockType

Microsoft.SharePoint.Administration.SPContentDatabase

Microsoft.SharePoint.SPSite