Obtenga información sobre la forma en que el procesador de trabajos carga los gestores de tareas en el inicio.
El procesador de trabajos carga gestores de tareas de Autodesk y de terceros.
Extensiones de gestores de tareas de terceros
Cada extensión de terceros debe existir en su propia carpeta del directorio de extensiones:
%allusersprofile%\Autodesk\Vault 2016\Extensions\
Por ejemplo, si tenemos una extensión del gestor de tareas denominada "JobHandlerSample", puede residir en el directorio %allusersprofile%\Autodesk\Vault 2016\Extensions\JobHandlerSample.
El procesador de trabajos busca un archivo de configuración para cada carpeta que se encuentra dentro del directorio de extensiones. El archivo de configuración es un archivo de texto sin formato que puede tener cualquier nombre, pero debe terminar con la extensión .vcet.config. Si el archivo de configuración no existe, la extensión no se cargará. Aquí se muestra el contenido de un archivo de configuración de muestra, JobHandlerSample.vcet.config:
<configuration> <connectivity.ExtensionSettings2> <assembly>JobHandlerSample</assembly> <extensionType>JobProcessor</extensionType> </connectivity.ExtensionSettings2> </configuration>
El artículo de ensamblaje especifica el nombre de la extensión dll. Así, en el ejemplo anterior, la extensión dll se denomina JobHandlerSample.dll. El tipo de extensión JobProcessor indica que esta es una extensión del procesador de trabajos (también se pueden encontrar otros tipos de extensión en este directorio: WebService y VaultClient).
El ensamblaje de la extensión (en el ejemplo, JobHandlerSample.dll) ahora está cargado. Después de la carga, se realizan las siguientes comprobaciones:
namespace JobHandlerSample { public class JobHandlerSample : IJobHandler { public bool CanProcess(string strJobType) { return strJobType.Equals("jobhandlersample"); } public JobOutcome Execute(IJobProcessorServices context, IJob job) { return JobOutcome.Success; } } }
Debe ser exactamente un tipo público del ensamblaje que implemente IJobHandler. Si no es así, no se cargará la extensión. Se creará una instancia de este tipo.
Configuración del gestor de tareas
El archivo de configuración del gestor de tareas es un archivo XML que contiene la información de configuración del procesador de trabajos. Se encuentra en el mismo directorio que JobProcessor.exe (normalmente en C:\Archivos de programa\Autodesk\Vault Professional [año]\Explorer) y se llama JobProcessor.exe.config. La sección relevante para la configuración de los gestores de tareas se encuentra está en configuration\connectivityExplorer\jobHandlers. En esta sección de XML, cada elemento jobHandler representa un gestor de tareas. Los elementos jobHandler de XML tienen el siguiente formato:
<jobHandler class="jobType" handler="NameOfTypeImplementingIJobHandler"/>
Donde:
Por lo tanto, un elemento jobHandler válido para la extensión de ejemplo sería:
<jobHandler class="jobhandlersample" handler="JobHandlerSample.JobHandlerSample, JobHandlerSample"/>
En el archivo JobProcessor.exe.config, observará que ya hay una entrada jobHandler para cada gestor de tareas incorporado a Autodesk. Los gestores de tareas incorporados solo se cargan si hay una entrada jobHandler existente para ellos. Las DLL del gestor de trabajo incorporado se encuentran en el mismo directorio que JobProcessor.exe.
Compruebe si los gestores de tareas están activados
La información de configuración anterior se utiliza para asociar un tipo de trabajo con un gestor de tareas determinado. Una vez asociado, se preguntará a cada gestor de tareas si puede procesar su tipo de tarea específico. El gestor de tareas responde a esta pregunta mediante la implementación del método de interfaz IJobHandler.CanProcess. Es en este momento que el gestor de tareas debe comprobar si tiene todo lo que necesita para poder procesar tareas de ese tipo (por ejemplo, algunos de los gestores de tareas de creación de DWF comprueban si Inventor está instalado).
Cuando se comprueban los tipos de tareas que se procesan actualmente a través de un procesador de trabajos (mediante el menú Administración->Tipos de trabajos...), cada entrada de la lista significa que se ha cargado correctamente un gestor de tareas para ese tipo de tarea. Si la entrada está marcada, indica que el gestor de tareas está activado (es decir, devuelve "true" desde IJobHandler.CanProcess). Para que el procesador de trabajos vuelva a preguntar a un gestor de tareas si "puede procesar", el usuario debe salir del procesador de trabajos e iniciarlo de nuevo.
Una vez que se han cargado y consultado todos los gestores de tareas, el procesador de trabajos está listo para comenzar a extraer trabajos de la cola y procesarlos.
Ejemplo de gestor de tareas
El SDK de Vault contiene un gestor de tareas de ejemplo, JobProcessorApiSamples.Para obtener más información, haga clic aquí.