Informazioni sul caricamento dei gestori dei lavori all'avvio con Job Processor.
Job Processor consente di caricare i gestori dei lavori di Autodesk e di terze parti.
Estensioni dei gestori dei lavori di terze parti
Le estensioni di terze parti dovrebbero essere presenti nella cartella corrispondente nella directory delle estensioni:
%allusersprofile%\Autodesk\Vault[anno]\Extensions\
Ad esempio, l'estensione dei gestori dei lavori denominata "JobHandlerSample" potrebbe trovarsi nella directory %allusersprofile%\Autodesk\Vault [anno]\Extensions\JobHandlerSample.
Per ogni cartella all'interno della directory delle estensioni il Job Processor verifica la presenza di un file di configurazione. Il file di configurazione è un file di testo normale a cui è possibile assegnare qualsiasi nome, ma che deve terminare con l'estensione .vcet.config. Se il file di configurazione non è presente, l'estensione non verrà caricata. Di seguito sono riportati i contenuti di un file di configurazione esemplificativo, JobHandlerSample.vcet.config:
<configuration>
<connectivity.ExtensionSettings2>
<assembly>JobHandlerSample</assembly>
<extensionType>JobProcessor</extensionType>
</connectivity.ExtensionSettings2>
</configuration>
Nell'elemento assieme è specificato il nome della DLL dell'estensione. Quindi, nell'esempio sopra, la DLL dell'estensione è denominata JobHandlerSample.dll. Il tipo di estensione di JobProcessor indica che si tratta di un'estensione per il Job Processor (possono essere presenti anche altri tipi di estensione nella directory, ad esempio WebService e VaultClient).
Viene quindi caricato l'assieme delle estensioni (nell'esempio JobHandlerSample.dll). Dopo il caricamento vengono eseguiti i seguenti controlli:
Vengono controllati i riferimenti della DLL dell'assieme per garantire che non venga collegata alle DLL del Vault (quelle il cui nome inizia con "Connecivity"). Se un assieme delle estensioni è collegato a una di queste DLL (direttamente o indirettamente), non verrà caricato.
Nell'assieme viene verificata la presenza di un singolo tipo esportato in grado di implementare l'interfaccia IJobHandler. Nell'esempio JobHandlerSample, all'interno del progetto dell'assieme può essere presente la seguente classe in C# per implementare l'interfaccia IJobHandler:
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;
}
}
}
Nell'assieme deve essere presente esattamente un tipo pubblico in grado di implementare IJobHandler. In caso contrario, l'estensione non verrà caricata. Viene creata un'istanza per tale tipo.
Viene verificata la presenza nell'assieme di determinati attributi obbligatori dell'assieme. In particolare,
Configurazione dei gestori dei lavori
Il file di configurazione dei Gestori dei lavori è un file XML contenente le informazioni di configurazione per il Job Processor. Il file si trova nella stessa directory di JobProcessor.exe (in genere C:\Programmi\Autodesk\Vault Client
<jobHandler class="jobType" handler="NameOfTypeImplementingIJobHandler"/>
Dove:
Pertanto, un elemento jobHandler valido per l'esempio di estensione potrebbe essere:
<jobHandler class="jobhandlersample" handler="JobHandlerSample.JobHandlerSample, JobHandlerSample"/>
Nel file JobProcessor.exe.config si noterà che esiste già una voce jobHandler per ciascuno dei gestori dei lavori integrati in Autodesk. I gestori dei lavori integrati vengono caricati solo se esiste una voce jobHandler corrispondente. Le DLL dei gestori dei lavori incorporate sono posizionate nella stessa directory di JobProcessor.exe.
Verificare l'abilitazione dei gestori dei lavori
Le informazioni di configurazione illustrate in precedenza vengono utilizzate per associare un tipo di lavoro a uno specifico gestore dei lavori. Una volta eseguita questa operazione, a ciascun gestore dei lavori viene richiesto se è in grado di elaborare lo specifico tipo di lavoro. Il gestore dei lavori risponde alla richiesta implementando il metodo dell'interfaccia IJobHandler.CanProcess. In questa fase il gestore dei lavori deve controllare se dispone di tutto l'occorrente per poter elaborare i lavori del tipo corrispondente (ad esempio, alcuni dei gestori dei lavori per la creazione di file DWF verificano che sia installato Inventor).
Quando si verifica quali tipi di lavoro vengono attualmente elaborati da un Job Processor (utilizzando il menu Amministrazione-> Tipi di lavoro...), ciascuna voce elencata indica che è stato caricato correttamente un gestore dei lavori per il tipo di lavoro corrispondente. Se la voce è selezionata, significa che il gestore dei lavori è abilitato (in altre parole, dall'implementazione IJobHandler.CanProcess viene restituito "true"). Perché il job processor chieda nuovamente a un gestore dei lavori se "è in grado di elaborare", è necessario chiudere il Job Processor e riavviarlo.
Una volta che tutti i gestori dei lavori sono stati caricati e sottoposti a query, il Job Processor può acquisire i lavori in coda ed elaborarli.
Esempio di gestore dei lavori
Vault SDK contiene un esempio di gestore di lavori JobProcessorApiSamples. Per ulteriori informazioni, fare clic qui.