Sistema di accodamento di Microsoft Office Project Server 2007

Aggiornamento: maggio 2009

 

Ultima modifica dell'argomento: 2015-02-27

Contenuto dell'articolo:

  • Panoramica

  • Processo di accodamento

  • Architettura del sistema di accodamento

  • Code Progetto e Scheda attività

  • Distribuzione delle code

  • Raggruppamenti di code

  • Stati di accodamento

  • Gestione delle code

  • Amministrazione della coda

In questo articolo viene descritto il sistema di accodamento di Microsoft Office Project Server 2007, una nuova e importante funzionalità introdotta in questa versione di Project Server. In questo articolo viene fornita una panoramica del sistema di accodamento, del processo e dell'architettura del sistema di accodamento, dei metodi con cui i processi di accodamento vengono raggruppati, dei possibili stati dei processi di accodamento e della gestione dell'accodamento tramite l'interfaccia utente di Microsoft Office Project Web Access.

Panoramica

Una coda è una linea in attesa la cui esecuzione diventa improrogabile nel momento in cui il numero di richieste di servizi supera la capacità di gestione ottimale. In un sistema Enterprise Project Management questa condizione può verificarsi in molte circostanze, ad esempio:

  • Alla fine dell'ultimo giorno lavorativo della settimana, la maggior parte dei 500 dipendenti di una piccola società invia le rispettive schede attività.

  • Poche ore prima della riunione sullo stato dei progetti del team, quasi tutti i project manager pubblicano i rispettivi progetti.

Lo scopo del sistema di accodamento di Office Project Server 2007 è gestire queste modifiche repentini in modo stabile e affidabile. Il sistema di accodamento di Office Project Server 2007 raccoglie l'input di tutti gli utenti, registra le voci per le richieste in Microsoft SQL Server e quindi elabora i dati in modo asincrono secondo la logica FCFS (First-Come, First-Served). La disponibilità di una coda garantisce la continuità operativa della soluzione EPM di Office Project Server 2007 quando si verifica un picco delle richieste.

Quasi tutte le operazioni critiche del sistema Office Project Server 2007 passano attraverso il sistema di accodamento di Office Project Server 2007. Tali operazioni includono:

  • Salvataggio del progetto

  • Pubblicazione del progetto

  • Salvataggio della scheda attività

  • Invio della scheda attività

  • Backup e ripristino del progetto

  • Operazioni del servizio di segnalazione dei dati

  • Operazioni del servizio di creazione cubi

  • Programmazione sul lato server (ed elaborazione della coerenza dei nodi)

Il sistema di accodamento di Project Server offre i vantaggi seguenti:

  • Affidabilità

    1. Integrità dei dati: per salvare i processi nella coda è disponibile un protocollo ben definito. Se un processo è stato salvato solo parzialmente, non verrà elaborato. Tutti i processi vengono inoltre salvati in SQL Server (non nel file system) e sfruttano le transazioni di SQL Server.

    2. Recapito ordinato: se un utente di Project Professional fa clic su Salva e quindi su Pubblica, il sistema di accodamento di Project garantisce che il processo di salvataggio venga elaborato per primo e sia quindi seguito dal processo di pubblicazione.

    3. Tolleranza di errore: i processi non riusciti presenti nella coda possono essere eseguiti di nuovo. Inoltre, quando sono in esecuzione più istanze del servizio di accodamento NT, se una di queste di blocca, il carico aggiuntivo viene raccolto automaticamente da un'altra istanza. Questo processo è detto failover trasparente.

  • Scalabilità

    1. Multithreading: il sistema di accodamento di Office Project Server 2007 è in grado di elaborare più processi contemporaneamente. Ad esempio, il salvataggio del progetto 1, la pubblicazione del progetto 2 e il processo di creazione di un cubo possono essere elaborati contemporaneamente.

    2. Per migliorare la gestione del carico è sufficiente aggiungere altri server di livello intermedio. Ogni server di livello intermedio disporrà di un servizio di accodamento di Project e i carichi verranno bilanciati automaticamente.

    3. Il numero di processi nella coda è condizionato solo dalle limitazioni di scala di SQL Server.

  • Gestibilità

Processo di accodamento

Nella figura seguente viene illustrato il processo di accodamento:

Project Server 2007 - processo di accodamento

  1. L'utente invia una richiesta server, ad esempio la pubblicazione di un progetto da Project Professional, da un'applicazione client. Come parte della richiesta, l'utente passa un ID processo, ovvero un identificatore univoco che consente di tenere traccia della richiesta.

  2. Il servizio Web di Project raccoglie la richiesta e la inserisce nella coda.

  3. All'utente viene rilasciato un ID processo per conferma.

  4. L'utente esegue una query per verificare lo stato della richiesta tramite l'ID processo rilasciato.

  5. Il sistema di accodamento di Office Project Server 2007 restituisce lo stato della richiesta all'utente.

Architettura del sistema di accodamento

L'architettura logica del sistema di accodamento di Project Server è costituita dai quattro moduli seguenti.

  • Memorizzazione dei processi

  • Polling dei processi

  • Elaborazione dei processi

  • Controllo e gestione dello stato dei processi

Quando vengono inviate richieste per il servizio di accodamento di Project Server, ad esempio l'aggiunta o l'elaborazione di processi o il recupero dello stato, questi moduli operano in combinazione per soddisfare l'attività richiesta. In questa sezione viene illustrato questo processo in dettaglio.

Moduli di accodamento

Il servizio di accodamento NT viene installato in ogni computer server dell'applicazione Project Server come parte del provisioning e determina l'avvio di un processo di lavoro code per ogni provider di servizi condivisi definito nella farm. Il processo di lavoro code gestisce tutte le istanze di Project Web Access associate al relativo provider di servizi condivisi e viene eseguito con l'identità di amministratore del provider di servizi condivisi. Tenere presente questo modello di distribuzione durante la lettura della rimanente parte di questa sezione. Per ulteriori informazioni, vedere Distribuzione delle code più avanti in questo articolo.

Project Server 2007 - servizio di coda NT

Il sistema di accodamento di Project Server è costituito dai quattro moduli seguenti:

  1. Memorizzazione dei processi: i processi in coda vengono memorizzati nei database Draft e Published di Project Server. Il backup e il ripristino dei processi vengono in questo modo eseguiti come parte delle normali procedure di backup e ripristino dei database di Project Server.

    Archiviazione dei processi

  2. Polling dei processi: per verificare la presenza di nuovi processi, a intervalli regolari viene eseguito il polling dell'archivio dei processi tramite un thread di polling di processo. Gli intervalli di polling vengono configurati dagli amministratori nelle pagine per la gestione delle code di Project Web Access.

    Polling dei processi

    1. Il processo di lavoro code determina l'avvio dei thread di polling di processo per ogni istanza di Project Web Access gestita. Il thread di polling di processo viene eseguito all'interno del processo di lavoro code e con l'identità del processo di lavoro code.

    2. Il thread di polling di processo dispone di due proprietà principali:

      Proprietà Descrizione

      Tipo

      Un determinato thread di polling di processo può essere un thread di polling di processo dei progetti, ovvero per la ricerca di processi correlati al progetto, oppure un thread di polling di processo delle scheda attività, ovvero per la ricerca di processi correlati alla scheda attività.

      Istanza di Project Web Access

      Ogni thread di polling di processo esegue la ricerca dei processi creati da un'istanza di Project Web Access specifica.

  3. Elaborazione dei processi: il thread di polling di processo genera un thread di elaborazione di processo per ogni processo individuato. Il numero massimo di thread di elaborazione di processo può essere configurato dagli amministratori. Si noti che i thread di elaborazione di processo risiedono all'interno del processo del servizio di accodamento NT e vengono eseguiti con l'identità del servizio di accodamento NT.

    Project Server 2007 - elaborazione dei processi coda

  4. Controllo e gestione dello stato dei processi: si tratta del modulo della coda di Project Server visualizzato all'utente finale.

    Controllo e gestione dello stato dei processi

    1. Pagina Gestisci processi di Project Web Access: gli amministratori utilizzano questa pagina per visualizzare lo stato dei processi nella coda, nonché per annullare o eseguire di nuovo i processi non riusciti. Poiché questa funzionalità fa parte di Project Web Access, non è necessario scaricare uno strumento specifico.

    2. Pagina Impostazioni coda di Project Web Access: gli amministratori possono visualizzare o modificare le impostazioni di una coda, ad esempio l'intervallo di polling e il numero massimo di thread di elaborazione di processo. Poiché questa funzionalità fa parte di Project Web Access, non è necessario scaricare uno strumento specifico.

    3. Pagina Processi personali in coda di Project Web Access: qualsiasi utente è in grado di controllare lo stato di un processo tramite questa interfaccia. Poiché questa funzionalità fa parte di Project Web Access, non è necessario scaricare uno strumento specifico.

    4. Interfaccia PSI dello stato della coda: gli sviluppatori di software possono utilizzare queste API per ottenere lo stato dei processi in coda. Per limitare la ricerca, sono disponibili diversi filtri efficaci.

Funzionamento integrato dei moduli

Quando al sistema vengono inviate le diverse richieste, ad esempio l'aggiunta di processi, l'elaborazione di processi e il recupero dello stato dei processi, i moduli del sistema di accodamento di Project Server devono interagire e funzionare come una singola entità.

Aggiunta dei processi

I processi possono essere aggiunti alla coda in molti modi diversi. Un project manager può salvare un progetto da Project Professional, un membro del team può inviare una scheda attività oppure un'applicazione di terze parti può pubblicare un progetto. Ognuna di queste azioni causa una chiamata a un elemento nell'interfaccia PSI (Project Server Interface), che a sua volta aggiunge i processi appropriati alla coda.

Aggiunta di processi - architettura

Elaborazione dei processi

L'elaborazione dei processi si verifica in fasi diverse e comporta un'interazione tra vari moduli:

  1. Avvio del processo di lavoro code: l'avvio del servizio di accodamento NT determina l'avvio di un processo di lavoro code per ogni provider di servizi condivisi definito nella farm. Affinché il sistema di accodamento di Project funzioni correttamente, è necessario che il servizio di accodamento NT sia sempre in esecuzione.

  2. Avvio dei thread per il polling dei processi: l'avvio del processo di lavoro code determina l'avvio dei thread per il polling dei processi, i quali sono specifici per le istanze di Project Web Access.

  3. Raccolta di nuovi processi: il thread per il polling esegue la ricerca di nuovi processi nei database del progetto.

  4. Creazione di thread di elaborazione di processo: se esistono nuovi processi, vengono creati i thread di elaborazione di processo.

  5. Scrittura dello stato: al termine dell'esecuzione di un thread di elaborazione di processo, lo stato del processo (completato o non riuscito) viene scritto nel database.

    Accodamento dei processi di Project Server 2007

Recupero dello stato

È possibile controllare lo stato in diversi modi. Gli amministratori possono utilizzare le pagine per la gestione delle code di Project Web Access, i membri del team possono utilizzare la pagina Processi personali in coda mentre gli sviluppatori di software possono recuperare lo stato a livello di programmazione utilizzando i metodi forniti dall'interfaccia PSI per il controllo dello stato della coda. Per ulteriori informazioni sui metodi dell'interfaccia PSI, vedere Project 2007 SDK Documentation (informazioni in lingua inglese) in MSDN Library (https://msdn.microsoft.com/it-it/library/bb187390.aspx) (informazioni in lingua inglese) (informazioni in lingua inglese).

Controllo dello stato del processo di Project Server 2007

Code Progetto e Scheda attività

Il sistema di accodamento di Office Project Server 2007 è costituito da due code distinte:

  1. Coda Progetto   Viene utilizzata principalmente per i messaggi correlati al progetto, ad esempio i messaggi relativi a salvataggio, pubblicazione, creazione di relazioni e creazione di cubi, sebbene a questa coda possano inoltre essere inviati altri tipi di messaggi. Le relative tabelle e stored procedure vengono memorizzate nel database Draft di Office Project Server 2007.

  2. Coda Scheda attività   Viene utilizzata principalmente per i messaggi correlati alla scheda attività, ad esempio quelli relativi al salvataggio e all'invio della scheda attività, sebbene a questa coda possano inoltre essere inviati altri tipi di messaggi. Le relative tabelle e stored procedure vengono memorizzate nel database Published di Office Project Server 2007.

La progettazione delle due code è identica, tranne per il fatto che i relativi processi risiedono in database diversi. I vantaggi derivanti dalla disponibilità di due tipi di code includono:

  • Prestazioni: la memorizzazione dei dati dei processi in coda nello stesso database dei dati principali evita che la coda esegua chiamate tra database dispendiose in termini di prestazioni durante l'elaborazione dei processi. Ad esempio, quando viene creato un processo di invio di una scheda attività, i dati immessi dall'utente, quali le ore lavorate, vengono inclusi nel processo in coda inviato e memorizzati nell'archivio dei processi di SQL Server. Inoltre esistono già informazioni sulla scheda attività (durata, nome e così via) e tali informazioni sono disponibili nel database Published. Per elaborare il processo di invio della scheda attività sono necessari entrambi i set di dati. Quando entrambi i set di dati risiedono nello stesso database, si ottengono prestazioni migliori. Per questo motivo, i processi della coda Scheda attività vengono memorizzati nel database Published, in cui risiedono i dati principali di tutte le schede attività, mentre i processi della coda Progetto vengono memorizzati nel database Draft, in cui risiede la maggior parte dei dati principali del progetto.

  • Ottimizzazione: ogni impostazione nella coda può essere specificata separatamente per le code Progetto e Scheda attività, offrendo agli amministratori un livello di flessibilità della configurazione elevato. Ad esempio, se un cliente utilizza Office Project Server 2007 principalmente per le schede attività e dispone di un numero limitato di progetti, sarà possibile impostare l'intervallo di polling della coda Progetto su 1 minuto e quello della coda Scheda attività su 10 secondi.

    [!NOTA] L'intervallo di polling consente di specificare la frequenza con cui il servizio di accodamento esegue la ricerca di nuovi processi nelle code. Questa impostazione può essere specificata nella pagina Impostazioni coda di Project Web Access.

Modalità di utilizzo delle code Progetto e Scheda attività

Nella figura seguente viene illustrata la modalità di funzionamento dei moduli del sistema di accodamento di Project Server con le code Progetto e Scheda attività.

Project Server 2007 - architettura del sistema di coda

  1. Avvio dei thread di polling di processo: per ogni istanza di Project Web Access gestita dalla coda (la coda può gestire più istanze di Project Web Access) viene avviata una coppia di thread di polling, uno per gestire la coda Progetto e un altro per gestire la coda Scheda attività. Entrambi i thread risiedono all'interno dello spazio di processo del processo di lavoro code e vengono eseguiti con l'identità del processo di lavoro code, che corrisponde all'identità dell'amministratore del provider di servizi condivisi.

  2. Memorizzazione dei processi: come illustrato in precedenza, i processi correlati al progetto (salvataggio del progetto, pubblicazione, creazione di relazioni, creazione di cubi e così via) vengono memorizzati nel database Draft. I processi correlati alla scheda attività (salvataggio della scheda attività, invio della scheda attività e così via) vengono memorizzati nel database Published.

  3. Elaborazione dei processi: non è stata apportata alcuna modifica. Nel momento in cui i thread di polling di processo rilevano nuovi processi, vengono creati thread di elaborazione di processo. Si noti che i thread di elaborazione di processo continuano a risiedere nello spazio di processo del processo di lavoro code e vengono eseguiti con l'identità del processo di lavoro code, che corrisponde all'identità dell'amministratore del provider di servizi condivisi.

    Non è stata apportata alcuna modifica ai moduli per il controllo dello stato, i quali eseguono il controllo dello stato di un processo indipendentemente dalla coda in cui il progetto si trova. La gestione delle code viene sempre eseguita per una singola coda. Nelle pagine per la gestione delle code di Project Web Access gli amministratori devono selezionare la coda, Progetto o Scheda attività, per la quale vengono modificate le impostazioni.

Distribuzione delle code

Per comprendere il modo in cui viene distribuito il sistema di accodamento di Project Server, è necessario comprendere come Office Project Server 2007 viene distribuito in generale. In questa sezione viene fornita una breve panoramica del processo di distribuzione. Per ulteriori informazioni, vedere Deploy Project Server 2007 to a server farm environment.

Dopo la lettura delle sezioni precedenti, potrebbero sorgere alcune domande, ad esempio:

  1. Come viene creato il servizio di accodamento NT nella posizione iniziale?

  2. Come si inizia a utilizzare il servizio di accodamento NT? Ad esempio, come viene individuata la posizione dei database Draft e Published di Project Server?

  3. Quali sono gli effetti del provisioning di più istanze di Project Web Access (che determina la creazione di più database di Project)?

  4. Quali sono gli effetti del provisioning di più provider di servizi condivisi (che determina la creazione di più servizi di accodamento NT)?

In questa sezione sono riportate le risposte a queste domande.

Modalità di distribuzione del servizio di accodamento NT durante l'installazione di Project Server 2007

In questa sezione viene illustrata la modalità di distribuzione della coda nel contesto specifico e viene fornita una breve panoramica della distribuzione di Office Project Server 2007.

  1. Preparare i computer: determinare l'architettura fisica della distribuzione. In questo esempio sono stati identificati due computer per l'esecuzione dell'applicazione Web (per la gestione di pagine Web), un computer per le operazioni di livello intermedio (salvataggio del progetto, pubblicazione del progetto e così via) e un computer per il database.

    Preparare i computer

  2. Creare una farm di Project Server: non appena si tenta di installare Project Server in un computer, viene richiesto di creare una farm (o di partecipare a una farm esistente). Una farm di Project Server può essere considerata una rappresentazione concettuale dell'installazione, in cui l'infrastruttura della farm si occupa di distribuire gli elementi corretti nelle posizioni appropriate. La creazione di una farm determina inoltre la creazione di un sito Web Amministrazione centrale SharePoint della farm, che consente di controllare tutte le operazioni della farm da un'unica posizione. Una farm include un database di configurazione della farm che contiene le informazioni sulla configurazione di tutti i server della farm.

    Creare una farm

  3. Installare i file binari e partecipare alla farm: il passaggio successivo consiste nell'installare Office Project Server 2007 in tutti i computer e aggiungerli alla farm di Project Server. Nell'ambito di questo processo è necessario designare un ruolo per il computer in cui viene eseguita l'installazione, ovvero Web front-end o Server applicazioni (computer di livello intermedio).

    Installare i file binari e aggiungere alla farm

  4. Effettuare il provisioning di un provider di servizi condivisi nella farm: quando si effettua il provisioning di un provider di servizi condivisi nella farm, in tutti i computer che dispongono del ruolo Server applicazioni vengono installati i servizi/componenti necessari per Servizio condiviso per Project Server. Vengono inoltre creati il servizio di accodamento NT, il servizio eventi NT e l'applicazione Web dell'interfaccia PSI. Nel callout bianco presente nella figura seguente è illustrata la configurazione logica della farm. In questo caso, nella farm viene creato un provider di servizi condivisi.

    Eseguire il provisioning del provider di servizi condivisi

    Note importanti:

    1. L'infrastruttura della farm si occupa dell'installazione dei componenti necessari in tutti i computer di livello intermedio. Se sono presenti più server di livello intermedio, questi server condivideranno il carico automaticamente.

    2. Ogni servizio NT viene eseguito con l'identità del pool di applicazioni del provider di servizi condivisi e non è possibile gestire tali servizi manualmente tramite l'opzione Servizi disponibile nel Pannello di controllo di Windows Server 2003. Il servizio Timer di SharePoint sincronizza periodicamente le credenziali dei servizi NT con l'account di amministratore della farm nel database di configurazione della farm.

    Poiché non dispongono di un sito di Project Web Access da servire, i servizi NT non eseguiranno alcuna operazione in questa fase.

  5. Effettuare il provisioning di Project Web Access: a tale scopo, passare al sito Web di amministrazione del provider di servizi condivisi e creare un'istanza di Project Web Access. Il completamento di questo passaggio determina la creazione dei servizi/componenti necessari per un'istanza di Project Web Access. Il processo di provisioning notifica inoltre la disponibilità di un sito di Project Web Access da gestire ai servizi eventi e di accodamento. Nel callout bianco presente nella figura seguente è illustrata la configurazione logica della farm. In questo caso, nella farm viene creata una nuova istanza di Project Web Access (ad esempio PWA1) che viene collegata al provider di servizi condivisi creato al passaggio precedente.

    Eseguire il provisioning di Project Web Access

    Note importanti:

    1. In ogni computer che rappresenta un server Web front-end vengono creati una raccolta siti di Windows SharePoint Services e i pool di applicazioni associati.

    2. Vengono creati quattro database di Project Server.

    3. Nel database di configurazione vengono create le voci che consentono di registrare la relazione tra il sito di Project Web Access, il provider di servizi condivisi e i database.

  6. Effettuare il provisioning di un'altra istanza di Project Web Access: uno scenario tipico è quello in cui il cliente crea più istanze di Project Web Access in una farm (ad esempio per servire l'indirizzo http://project20007/sales and http://project2007/marketing). Quando si verifica questa situazione, vengono creati nuovi set di database di Project Server, nonché altri pool di applicazioni e raccolte siti di Windows Sharepoint Services per Project Web Access. Nel callout bianco incluso nell'immagine seguente è illustrata la configurazione logica della farm. In questo caso, nella farm viene creata una nuova istanza di Project Web Access, ad esempio PWA2, che viene collegata al provider di servizi condivisi. Si noti che per l'istanza PWS2 viene creato un nuovo set di database di Project Server. I servizi eventi e di accodamento NT iniziano a questo punto a servire tutti i siti di Project Web Access associati al provider di servizi condivisi. In questo caso, iniziano a servire entrambe le istanze PWA1 e PWA2.

    Provisioning di un'altra istanza di Project Web Access

Servizio di accodamento NT in più server applicazioni di Project Server

Il servizio di accodamento NT viene creato in tutti i server applicazioni di Project Server (noti anche come server di livello intermedio) della farm. Ad esempio, se si dispone di due server applicazioni di Project Server, non appena si effettua il provisioning di un nuovo provider di servizi condivisi nella farm di Project Server viene creato un nuovo servizio di accodamento NT in entrambi i computer. È importante notare che il servizio di accodamento NT serve tutte le istanze di Project Web Access associate al provider di servizi condivisi padre corrispondente.

Proprietà del servizio di accodamento

Come illustrato in precedenza, il servizio di accodamento NT viene creato quando si effettua il provisioning di un provider di servizi condivisi nella farm di Project Server. Quando si visualizzano le proprietà del computer di livello intermedio del servizio di accodamento NT è importante comprendere il modo in cui queste proprietà vengono determinate.

Proprietà servizi di coda

  • Queue Service Name: il nome del servizio è ProjectQueueService. Indipendentemente dal numero di provider di servizi condivisi della farm, nel server applicazioni di Project Server esiste sempre un unico servizio di accodamento NT.

  • Queue Startup Type: l'avvio è di tipo automatico, poiché il servizio di accodamento NT deve essere sempre in esecuzione.

  • Queue NT Service logon account: come account di accesso del servizio di accodamento NT è impostato l'account del servizio Timer. Si tratta dell'account utilizzato per la creazione della farm.

Modalità di avvio del servizio di accodamento NT e di inizio della gestione delle istanze di Project Web Access: il servizio di accodamento viene eseguito come account del servizio Timer e dispone dell'accesso al database di configurazione della farm. All'avvio, il servizio di accodamento NT esegue una query sul database di configurazione e ottiene un elenco di tutti i provider di servizi condivisi della farm di cui è stato effettuato il provisioning. Per ogni provider di servizi condivisi viene quindi avviato un processo di lavoro code. Ogni processo di lavoro code individua l'elenco delle istanze di Project Web Access associate al provider di servizi condivisi e avvia un coppia di thread di polling per ogni istanza di Project Web Access.

Quando è necessario riavviare il servizio di accodamento NT?: teoricamente mai, in quanto il servizio di accodamento NT è sempre in ascolto delle modifiche apportate alla configurazione della farm alle quali si adatta automaticamente senza che sia necessario riavviare il servizio NT.

Processi visualizzati in Windows Task Manager: all'apertura di Windows Task Manager, verranno visualizzati numerosi processi con lo stesso nome, ovvero: Microsoft.Office.Project.Server.Queuing.exe. Uno di questi viene eseguito con l'account del servizio Timer e rappresenta il servizio di accodamento NT. Saranno inoltre presenti tanti processi Microsoft.Office.Project.Server.Queuing.exe quanti sono il numero dei provider di servizi condivisi del farm, ognuno dei quali viene eseguito con l'account dell'amministratore del provider di servizi condivisi corrispondente. Questi processi rappresentano i processi di lavoro della coda. Il numero totale di processi Microsoft.Office.Project.Server.Queuing.exe equivale pertanto al numero di provider di servizi condivisi, più uno per l'account del servizio Timer.

Distribuzione dell'accodamento in varie topologie

In questa sezione viene illustrata la modalità di distribuzione della coda in varie topologie in cui è possibile che si disponga di più istanze di Project Web Access e di più provider di servizi condivisi.

Avvio di una coda che serve più istanze di Project Web Access

Quando viene avviata, la coda contatta innanzitutto il database di configurazione della farm e richiede tutte le istanze di Project Web Access che devono essere servite. La coda identifica se stessa utilizzando il GUID del provider di servizi condivisi, un parametro di avvio per il servizio di accodamento NT (per ulteriori informazioni, vedere la sezione Distribuzione della coda).

Project Server 2007 - accodamento con due siti Project Web Access

  1. Il servizio di accodamento NT contatta il database di configurazione della farm e richiede informazioni su tutti i provider di servizi condivisi definiti nella farm.

  2. Per ogni provider di servizi condivisi, il servizio di accodamento NT avvia un processo di lavoro code, che viene eseguito con l'account dell'amministratore del provider di servizi condivisi corrispondente.

  3. Per ogni provider di servizi condivisi, il servizio di accodamento NT ottiene un elenco di siti di Project Web Access associati.

  4. Per ogni sito di Project Web Access, il servizio di accodamento NT ottiene informazioni di connessione ai database di Project Web Access.

  5. Il servizio di accodamento NT avvia coppie di thread di polling di processo una per ogni istanza di Project Web Access.

  6. I thread di polling eseguono il polling per nuovi processi.

Distribuzione della coda in un ambiente con un solo provider di servizi condivisi e più istanze di Project Web Access

Nella figura seguente viene fornita una rappresentazione dell'architettura della coda in un ambiente con un solo provider di servizi condivisi e con due istanze di Project Web Access di cui è stato effettuato il provisioning per il provider di servizi condivisi.

Sistema di coda di Project Server 2007 - singolo provider di servizi condivisi

  1. Il servizio di accodamento NT contatta il database di configurazione della farm e richiede informazioni su tutti i provider di servizi condivisi definiti nella farm.

  2. Per ogni provider di servizi condivisi, il servizio di accodamento NT avvia un processo di lavoro code, che viene eseguito con l'account dell'amministratore del provider di servizi condivisi corrispondente.

  3. Per ogni provider di servizi condivisi, il servizio di accodamento NT ottiene un elenco di siti di Project Web Access associati.

  4. Per ogni sito di Project Web Access, il servizio di accodamento NT ottiene informazioni di connessione ai database di Project Web Access.

  5. Il servizio di accodamento NT avvia coppie di thread di polling di processo una per ogni istanza di Project Web Access.

  6. I thread di polling eseguono il polling per nuovi processi.

  7. Quando vengono individuati nuovi processi, i thread di polling di processo generano nuovi thread di elaborazione di processo.

Distribuzione della coda in un ambiente con due provider di servizi condivisi

Nella figura seguente viene fornita una rappresentazione dell'architettura della coda in un ambiente con due provider di servizi condivisi e con una singola istanza di Project Web Access di cui è stato effettuato il provisioning per ogni provider di servizi condivisi.

Accodamento messaggi di Project Server

  1. Il servizio di accodamento NT contatta il database di configurazione della farm e richiede informazioni sul provider di servizi condivisi definito nella farm.

  2. Per ogni provider di servizi condivisi, il servizio di accodamento NT avvia un processo di lavoro code, che viene eseguito con l'account dell'amministratore del provider di servizi condivisi corrispondente.

  3. Per ogni provider di servizi condivisi, il servizio di accodamento NT ottiene un elenco di siti di Project Web Access associati.

  4. Per ogni sito di Project Web Access, il servizio di accodamento NT ottiene informazioni di connessione ai database di Project Web Access.

  5. Il servizio di accodamento NT avvia coppie di thread di polling di processo una per ogni istanza di Project Web Access.

  6. I thread di polling eseguono il polling per nuovi processi.

  7. Quando vengono individuati nuovi processi, i thread di polling di processo generano nuovi thread di elaborazione di processo.

Raggruppamenti di code

Per i dati in coda esistono tre livelli di raggruppamento distinti:

  1. **Processi   **Un processo è un pacchetto di lavoro di cui è possibile tenere traccia che viene eseguito da Project Server (ad esempio il salvataggio del progetto, la pubblicazione del progetto, l'invio della scheda attività). Alcuni processi non vengono avviati in modo esplicito dall'utente (ad esempio l'invio di notifiche tramite posta elettronica, la sincronizzazione dei dati delle relazioni). I processi costituiscono il livello al quale viene tenuta traccia dell'accodamento (utilizzando un ID processo).

  2. **Gruppo di processi correlati   **Un gruppo di processi correlati è una categorizzazione di processi imposta da regole interne di Project Server. I processi inclusi in un gruppo di processi correlati vengono elaborati insieme e in sequenza (con alcune eccezioni). Nell'esempio che segue il progetto 1 viene modificato e salvato in Project Professional e quindi archiviato. Il progetto 1 viene quindi estratto da un altro utente e infine pubblicato. La pubblicazione del progetto 1 attiva la creazione di relazioni e l'aggiunta di un processo di creazione di relazioni alla coda. Project Server assembla un gruppo di correlazione costituito dai quattro processi correlati al progetto 1. Project Server tenterà quindi di elaborare i processi in sequenza, in quanto le regole interne di Project Server determinano l'esistenza di una dipendenza tra i processi. La dipendenza comporta il fatto che la pubblicazione del progetto 1 e l'aggiornamento del database delle relazioni non possono verificarsi fino a quando il progetto 1 non viene salvato. Inoltre, se si verifica un errore a un processo nella correlazione, gli altri processi nel gruppo di correlazione verranno bloccati. Ad esempio, se si verifica un errore al processo di salvataggio del progetto (ID processo 12), il processo di archiviazione del progetto 1 (ID processo 13) verrà bloccato. Se il processo di archiviazione del progetto 1 venisse eseguito, potrebbero verificarsi problemi. Un altro utente potrebbe quindi estrarre il progetto 1 (che potrebbe trovarsi in uno stato incoerente a causa del salvataggio non riuscito) e quindi tentare di modificarlo.

  3. **Sottoprocessi   **Ogni processo può essere scomposto ulteriormente in segmenti più piccoli denominati sottoprocessi. Un progetto di dimensioni molto grandi (ad esempio il salvataggio di un progetto di 10 MB) verrà scomposto in più sottoprogetti. I sottoprogetti non vengono esposti all'interfaccia PSI o all'utente di Project Web Access.

    Livelli diversi di raggruppamento delle code

Relazioni padre/figlio tra i processi inviati

È importante comprendere che possono esistere relazioni padre/figlio per i processi inviati che richiedono un'ulteriore elaborazione. Ad esempio, se un utente pubblica il progetto 1, verranno create una richiesta di creazione di relazioni per il progetto 1, nonché richieste di notifica riguardanti il progetto 1. Si noti che il processo di notifica del progetto 1 verrà sempre generato, ma poiché il processo di creazione di relazioni per il progetto 1 viene generato solo se il processo di pubblicazione del progetto 1 ha esito positivo, se il processo di pubblicazione ha esito negativo, il processo di creazione di relazioni per il progetto 1 non verrà generato.

Relazione padre-figlio tra processi

In modo analogo, un processo figlio potrebbe non riuscire senza produrre alcun effetto sul processo padre. Ad esempio, se il processo di notifica per il progetto 1 ha esito negativo, non si verificherà alcun effetto sul processo di pubblicazione del progetto 1, che sarà già stato generato. È importante notare che sebbene l'utente possa essere consapevole dell'avvenuta elaborazione del processo di pubblicazione per il progetto 1 nella coda, potrebbe tuttavia non esserlo riguardo all'esito negativo di un processo figlio. Se si desidera verificare quali processi figlio generati da un processo padre sono stati immessi nella coda, nonché conoscere il relativo stato, sarà possibile utilizzare la pagina Processi personali in coda in Project Web Access. Gli amministratori possono utilizzare l'interfaccia utente per la gestione delle code e visualizzare tutti i processi in coda.

[!NOTA] Nella sezione Gestione delle code di questo articolo vengono illustrate la pagina Processi personali in coda e le pagine per la gestione delle code di Project Web Access.

Stati di accodamento

Quando viene inviato alla coda, il processo passa attraverso vari stati. Nella tabella seguente viene descritto ogni stato possibile:

Stato Descrizione

Accodamento in corso

Il processo viene inserito nella coda. Viene generato un ID processo.

In attesa di elaborazione

Il processo è in coda in attesa di essere elaborato.

In elaborazione

Il processo viene elaborato.

Completato

Il processo è stato elaborato. Si tratta dello stato finale oltre il quale il processo non può andare.

Bloccato

Il processo è stato bloccato a causa di un errore a un altro processo precedente nello stesso gruppo di correlazione. È possibile riprovare o annullare.

Non riuscito ma senza blocco della correlazione

Il processo non è riuscito, ma non determina il blocco di altri processi nel gruppo corrispondente. Si tratta dello stato finale oltre il quale il processo non può andare.

Non riuscito e blocco per correlazione

Il processo non è riuscito e potrebbe determinare il blocco di uno o più processi dipendenti.

Ignorato per ottimizzazione

Il processo è stato ignorato perché è stato individuato un processo duplicato successivo all'interno del gruppo. Un manager di progetto potrebbe ad esempio eseguire la sequenza seguente durante l'utilizzo di un progetto:

  1. Salvataggio del progetto 1

  2. Pubblicazione del progetto 1

  3. Modifica di un'attività nel progetto 1

  4. Pubblicazione del progetto 1

  5. Modifica della data di inizio del progetto 1

  6. Pubblicazione del progetto 1

I tre salvataggi incrementali del progetto 1 verranno tutti elaborati. L'elaborazione di tutti e tre i tentativi di pubblicazione non è tuttavia necessaria. L'elaborazione dell'ultimo processo di pubblicazione produrrebbe gli stessi risultati dei tre processi di pubblicazione. A scopo di ottimizzazione, i primi due tentativi di pubblicazione non vengono elaborati.

Annullato

Il processo è stato annullato. È possibile annullare un processo che si trova in qualsiasi stato, tranne i due stati finali (Completato e Non riuscito ma senza blocco della correlazione).

Modifiche dello stato della coda

A mano a mano che i processi vengono inseriti nella coda ed elaborati, è importante comprendere le possibili modifiche che possono verificarsi allo stato della coda. Nella figura seguente vengono descritte le possibili transizioni da uno stato all'altro.

Project Server 2007 - modifica degli stati del sistema di coda

Stato Stato successivo possibile

Accodamento in corso

  • In attesa di elaborazione

  • Annullato

In attesa di elaborazione

  • In elaborazione

  • Annullato

  • Bloccato

  • Ignorato per ottimizzazione

In elaborazione

  • Completato

  • Non riuscito ma senza blocco della correlazione

  • Non riuscito e blocco per correlazione

  • Annullato

Completato

  • Fine

Bloccato

  • In elaborazione

  • Annullato

Non riuscito ma senza blocco della correlazione

  • Fine

Non riuscito e blocco per correlazione

  • Annullato

  • In elaborazione

Ignorato per ottimizzazione

  • Bloccato a causa di un processo non riuscito

  • Annullato

  • Completato

  • Non riuscito ma senza blocco della correlazione

  • Non riuscito e blocco per correlazione

  • In elaborazione

Annullato

  • Fine

Gestione delle code

La maggior parte delle operazioni critiche eseguite in Office Project Server 2007 passa attraverso la coda. La comprensione e la gestione della coda risultano pertanto fattori critici per il corretto funzionamento dell'installazione di Microsoft Office Enterprise Project Management (EPM) Solution. Di seguito vengono ad esempio illustrate situazioni pertinenti che potrebbero comportare una gestione più efficace della coda:

  • La pubblicazione del progetto personale richiede molto tempo.

  • Il caricamento della pagina per la gestione delle code richiede tempi lunghi e il numero di processi visualizzato è 100.000.

  • Dal proprio manager giunge la richiesta di verificare se l'acquisto di un nuovo server Office Project Server 2007 di livello intermedio (server applicazioni) abbia di fatto determinato un miglioramento delle prestazioni.

Per gestire le code è possibile utilizzare le risorse seguenti:

  • Pagine per la gestione delle code di Project Web Access

  • Pagina Processi personali in coda

  • Contatori delle prestazioni

  • Pulitura coda

Pagine per la gestione delle code di Project Web Access

La gestione delle code può essere eseguita tramite le pagine per la gestione delle code di Office Project Web Access. Si tratta di una schermata simile a quella per le comuni stampanti dalla quale è possibile visualizzare tutti i processi di stampa nella coda e risolvere eventuali problemi. È possibile accedere alle pagine per la gestione delle code di Project Web Access dalla pagina Impostazioni server di Project Web Access.

Dalla pagina Gestisci coda è possibile:

  • Visualizzare lo stato di tutti i processi nella coda.

  • Annullare o riprovare un processo non riuscito.

    [!NOTA]  Per ulteriori informazioni sugli stati delle code, vedere la sezione Stati di accodamento.

    [!NOTA]  Per visualizzare informazioni sull'interfaccia utente per la gestione delle code, vedere la sezione Amministrazione della coda di questo articolo.

Pagina Processi personali in coda

La pagina Processi personali in coda fornisce un'interfaccia utente, simile allo spooler di stampa di un PC, che può essere gestita autonomamente e dalla quale è possibile visualizzare lo stato di processi personali specifici inseriti nella coda. Gli utenti di Project Web Access possono accedere alla pagina Processi personali in coda dalla home page di Project Web Access attraverso il collegamento Impostazioni personali disponibile nella barra di avvio veloce.

Se utente desidera visualizzare informazioni su tutti i processi inseriti nella coda, potrà farlo utilizzando la pagina Processi personali in coda di Project Web Access. Nella pagina Processi personali in coda vengono visualizzate le informazioni seguenti sui processi inseriti dall'utente nella coda:

  • Ora ingresso in coda

  • Tempo completamento coda

  • Nome processo

  • Tipo processo

  • Stato processo

  • Percentuale completamento

  • Posizione coda

  • Tipo coda

  • Errore

La pagina Processi personali in coda consente inoltre di filtrare tutti i processi inseriti da un utente nella coda in base alle informazioni seguenti:

  • Processi in corso e non riusciti

  • Tutti i processi

  • Tutti i processi della scorsa settimana

  • Processi completati della scorsa settimana

Contatori delle prestazioni

Esistono molti contatori delle prestazioni specifici per l'accodamento che gli amministratori possono utilizzare per effettuare un benchmark delle prestazioni del sistema Office Project Server 2007 correnti. Questi contatori delle prestazioni sono molti utili per determinare se la configurazione corrente soddisfa gli obiettivi stabiliti o se invece è necessario giustificare l'acquisto di risorse aggiuntive, ad esempio un altro server.

Alcuni dei contatori disponibili sono specifici per i processi, ad esempio:

  • Tempo di elaborazione medio per qualsiasi processo nella coda

  • Tempo di elaborazione medio per processi di pubblicazione

  • Percentuale di processi non riusciti

  • Tempo di attesa medio

Altri contatori sono relativi alla coda in generale, ad esempio:

  • Profondità media della coda

  • % di tentativi SQL

  • Chiamate SQL per ora

  • Tempo di elaborazione medio per processi di pubblicazione

Pulitura coda

Durante l'utilizzo del sistema Project Server, i processi continueranno a venire inseriti nella coda e a essere elaborati. Il sistema di coda mantiene lo stato e altri metadati per ogni processo completato, in modo che il relativo stato possa essere determinato in un momenti successivi. Il numero di questi processi potrebbe aumentare nel tempo e iniziare a influire sulle prestazioni del sistema, in particolare le interrogazioni dello stato dei processi. Per gestire questa situazione, il sistema di coda dispone di un meccanismo di pulitura incorporato che elimina periodicamente i processi dalla coda. L'effetto principale di tale eliminazione consiste nell'impossibilità di determinare lo stato dei processi eliminati tramite l'interfaccia PSI o le pagine per la gestione delle code.

Nella pagina Impostazioni coda di Project Web Access sono disponibili diversi parametri di configurazione che consentono di controllare il meccanismo di pulitura:

  • Intervallo pulitura - Consente di specificare la frequenza di pulitura. Il valore predefinito è 24 ore.

  • Scadenza pulitura per processi senza errori . Consente di specificare la frequenza di pulitura per i processi completati. Il valore predefinito è 24 ore.

  • Scadenza pulitura per processi con errori - Consente di specificare la frequenza di pulitura per i processi completati e non riusciti (ad esempio processi nello stato Non riuscito ma senza blocco della correlazione). Il valore predefinito è 168 ore.

[!NOTA] Ulteriori informazioni su questi parametri sono disponibili nella sezione Impostazioni coda più avanti in questo articolo.

Amministrazione della coda

La gestione e l'amministrazione della coda possono essere eseguite tramite la pagina Impostazioni server di Project Web Access. Nella sezione Coda della pagina Impostazioni server sono disponibili due opzioni che consentono di amministrare la coda.

  1. Gestisci coda   È possibile utilizzare questa pagina per visualizzare i processi nella coda. È possibile utilizzare le opzioni di configurazione per filtrare i processi e visualizzare solo quelli desiderati. Da questa pagina è inoltre possibile riprovare o annullare uno o più processi.

  2. Impostazioni coda   È possibile impostare le opzioni di configurazione che consentono di controllare la modalità di estrazione dei processi dalle code Progetto e Scheda attività e la loro elaborazione. Queste impostazioni vengono applicate senza che sia necessario riavviare il servizio di accodamento NT.

Gestisci coda

In questa sezione vengono descritte le opzioni per il filtro della coda che vengono rese disponibili selezionando Gestisci coda nella sezione Coda della pagina Impostazioni server di Project Web Access. In questa pagina verranno inoltre visualizzati i risultati delle opzioni di accodamento selezionate.

Tipo di filtro

Il filtro determina l'ordine in base al quale i processi vengono visualizzati nella sezione relativa alla griglia dei processi. Le opzioni disponibili sono:

  • Per stato

  • Per processo

  • Per progetto

  • Per ID

Cronologia processo

Questo parametro consente di selezionare l'intervallo di date per i processi visualizzati nella griglia dei processi. Utilizzare i campi Da e A per selezionare una data di inizio e una data di fine.

È possibile utilizzare il campo Numero massimo processi per limitare il numero di processi visualizzati per un intervallo di date specifico. Se l'intervallo di date determina la visualizzazione di un numero di processi consistente nella griglia dei processi, il caricamento della pagina Gestisci coda potrebbe richiedere molto tempo. Il campo Numero massimo processi consente di limitare il numero di processi visualizzati. L'impostazione predefinita è 500.

Tipo processo

Questa sezione consente di selezionare i tipi di processo (ad esempio pubblicazione progetto, invio scheda attività o archiviazione piano delle risorse) che si desidera visualizzare nella griglia dei processi. Per impostazione predefinita, nell'elenco Processi selezionati verranno elencati tutti i tipi di processo.

Stati di completamento processi

Questa sezione consente di selezionare gli stati di completamento dei processi che si desidera visualizzare nella griglia dei processi. Per impostazione predefinita, nell'elenco Stati di processo selezionati vengono visualizzati tutti gli stati di completamento dei processi diversi da Completato e pertanto i processi completati non verranno visualizzati nella griglia dei processi.

Colonne

Questa sezione consente di selezionare le colonne che verranno visualizzate nella sezione relativa alla griglia dei processi.

Opzioni avanzate

Questa sezione consente di specificare operazioni particolari da applicare a un'operazione di annullamento. Le opzioni disponibili sono:

  • Annulla processi che vengono accodati

  • Annulla processi suddivisi nella correlazione

Griglia dei processi

Questa sezione consente di visualizzare i processi che soddisfano i criteri elencati nella pagina Gestisci coda. Le opzioni incluse in questa sezione consentono di selezionare un processo o gruppo di processi e di applicarvi eventualmente le opzioni seguenti:

  • Riprova processo

  • Annulla processo

    [!NOTA] Per aggiornare la pagina, è necessario aggiornare manualmente l'elenco per la visualizzazione e la selezione del processo per aggiornare la pagina. A tale scopo, è possibile utilizzare il pulsante Aggiorna disponibile in questa sezione.

Impostazioni coda

In questa sezione vengono descritte le opzioni per la configurazione della coda che vengono rese disponibili selezionando Impostazioni coda nella sezione Coda della pagina Impostazioni server di Project Web Access.

Durante la configurazione delle impostazioni della coda, è importante tenere presente gli aspetti seguenti:

  • Le impostazioni della coda vengono configurate per un'istanza specifica di Project Server.

  • Le impostazioni della coda vengono configurate separatamente per ogni tipo di coda (Progetto o Scheda attività).

  • Per rendere effettive le modifiche, non è necessario riavviare il servizio di accodamento NT.

  • Se più servizi di accodamento NT servono questa istanza di Project Web Access (ad esempio in un ambiente con carico bilanciato), tutti i servizi di coda verranno aggiornati con le impostazioni.

    [!NOTA] Dopo aver selezionato le opzioni di configurazione in questa pagina, verificare di utilizzare il pulsante Salva in questa pagina per salvare le impostazioni di configurazione.

Tipo coda

Questa sezione consente di specificare il tipo di coda (Progetto o Scheda attività) a cui si desidera applicare le impostazioni.

Numero massimo di thread per il sistema di elaborazione dei processi

Questa sezione consente di specificare il numero massimo di thread per il sistema di elaborazione dei processi che possono essere eseguiti contemporaneamente. L'intervallo valido è compreso tra 1 e 20, con un valore predefinito di 4.

Intervallo di polling

Questa sezione consente di specificare l'intervallo di tempo (in millisecondi) entro il quale il servizio di accodamento NT esegue il polling del database del progetto o della scheda attività (a seconda del tipo di processo selezionato) per i nuovi processi. L'intervallo valido è compreso tra 500 e 300000, con un valore predefinito di 1000.

Intervallo tentativi

Questa sezione consente di impostare il periodo di tempo (in millisecondi) che intercorre tra i tentativi di eseguire i processi non riusciti per problemi correlati a SQL, ad esempio deadlock SQL. L'intervallo valido è compreso tra 0 (tentativo immediato) e 300000, con un valore predefinito di 1000.

Limite tentativi

Questa sezione consente di impostare il limite di tentativi per eseguire una query di polling non riuscita. Il sistema di accodamento di Project Server esegue regolarmente il polling dei database per recuperare i processi da elaborare. Se questa query ha esito negativo per un motivo correlato a SQL, il sistema tenterà di nuovo di eseguire il polling del database dopo un determinato periodo di tempo.

Intervallo tentativi query SQL

La coda esegue regolarmente il polling del database per i processi da elaborare. Se la query ha esito negativo, in questa sezione sarà possibile impostare il periodo di tempo (in millisecondi) prima che la query venga rieseguita. L'intervallo valido è compreso tra 0 (tentativo immediato) e 60000, con un valore predefinito di 1000.

Limite tentativi query SQL

La coda esegue il polling del database a intervalli regolari per i processi da elaborare. Se la query ha esito negativo, in questa sezione sarà possibile impostare il numero di tentativi eseguiti per la query. L'intervallo valido è compreso tra 0 (nessun tentativo) e 100, con un valore predefinito di 5.

Timeout SQL

La coda esegue chiamate SQL per il recupero e l'esecuzione dei processi. Questa sezione consente di impostare il valore di timeout (in secondi) per le chiamate. Se un processo ha esito negativo a causa di un errore di timeout SQL, sarà possibile aumentare il valore per questa impostazione e riprovare il processo. L'intervallo valido è compreso tra 19 e 86400 (un giorno), con un valore predefinito di 30.

Intervallo pulitura

Questa sezione consente di configurare la frequenza (in ore) con la quale viene eseguito il processo Pulitura in coda. L'intervallo valido è compreso tra 1 e 100000, con un valore predefinito di 24 (1 giorno).

Scarto intervallo pulitura

Questa sezione consente di configurare l'ora del giorno in cui verrà eseguito il processo di pulitura della coda. Il valore viene impostato immettendo il numero di minuti dopo le ore 12.00 in cui verrà eseguito il processo di pulitura della coda. L'intervallo valido è compreso tra 0 (ore 12.00) e 1439 (ore 23.59), con un valore predefinito di 0.

Scadenza pulitura per processi senza errori

Questa sezione consente di impostare dopo quante ore è possibile eliminare i processi riusciti durante l'esecuzione del processo di pulitura della coda. La scadenza di un processo viene determinata in base alla data e all'ora di completamento. Se, ad esempio, un processo viene completato senza errori in data 1/10/07 alle 22.40 e il processo di pulitura della coda viene eseguito in data 2/10/07 alle ore 23.55, il processo verrà eliminato (supponendo che l'impostazione di Scadenza pulitura per processi senza errori sia pari a 24 ore).

L'intervallo valido è compreso tra 1 e 100000, con un valore predefinito di 24 (1 giorno).

[!NOTA] Il numero di processi senza errori risulta in genere molto più elevato di quelli non completati. Pertanto, la scadenza di pulitura per i processi senza errori viene in genere impostata su un valore inferiore rispetto a quello della scadenza di pulitura per i processi con errori.

Scadenza pulitura per processi con errori

Questa sezione consente di impostare dopo quante ore è possibile eliminare un processo completato con errori (ad esempio Non riuscito senza blocco per correlazione) durante l'esecuzione del processo di pulitura della coda. La scadenza di un processo viene determinata in base alla data e all'ora di completamento. Se, ad esempio, un processo viene annullato 1/10/07 alle ore 22.40 e il processo di pulitura della coda viene eseguito in data 2/10/07 alle ore 23.55, il processo verrà eliminato (supponendo che l'impostazione di Scadenza pulitura per processi con errori sia pari a 24 ore).

L'intervallo valido è compreso tra 1 e 100000, con un valore predefinito di 168 (sette giorni).

Intervallo attività di manutenzione

Il sistema di accodamento esegue numerose attività di manutenzione, ad esempio la riattivazione di processi con stato Sospeso, l'aggiornamento del timestamp di heartbeat o il controllo per determinare la necessità di eseguire il processo di pulitura della coda. Questa impostazione controlla l'intervallo di tempo (in millisecondi) per l'esecuzione di queste attività.

L'intervallo valido è compreso tra 500 e 300000, con un valore predefinito di 10000 (dieci secondi).

Timeout coda

In una farm che contiene più server applicazioni, se si verificano errori al servizio di accodamento NT in un server, i processi verranno distribuiti automaticamente nei server applicazioni rimanenti in cui il servizio di accodamento NT è attivo. Si verifica il timeout del servizio di coda quando il servizio non invia l'aggiornamento di heartbeat per un periodo più lungo del valore impostato per Timeout coda (in minuti). L'aggiornamento di heartbeat viene eseguito dal servizio di accodamento in tutti i database di Project Web Access gestiti (ad esempio ogni volta in cui viene eseguito il polling dei database Published e Draft per i processi).

L'intervallo valido è compreso tra 2 e 20, con un valore predefinito di 3.

[!NOTA] Il valore di Timeout coda non può mai essere minore di 4 volte il valore impostato per Intervallo attività di manutenzione. Se la regola viene violata, il valore di Timeout coda verrà modificato automaticamente in 4 volte il valore di Intervallo attività di manutenzione.

Polling rapido

L'impostazione di polling rapido viene attivata per impostazione predefinita e consente alla coda di elaborare tutti i processi nello stato In attesa di elaborazione non appena possibile. Se l'elaborazione rapida causa un carico eccessivo per il server ed è necessario rallentare le attività correlate alla coda, sarà possibile disattivare questa opzione.

Se il polling rapido viene disattivato, la coda verificherà la disponibilità di thread liberi per l'elaborazione di processi. Se ve ne sono, i thread liberi verranno caricati con i processi che si trovano nello stato In attesa di elaborazione. Si verificherà quindi un'attesa pari all'intervallo di polling e il processo verrà ripetuto.

Se il polling rapido viene attivato, in presenza di processi in sospeso non si verificherà l'attesa pari all'intervallo di polling. A mano a mano che i processi vengono elaborati, verrà avviata immediatamente l'elaborazione dei processi in sospeso.