Cosa c'è dietro »

Zend - The PHP Company

Zend Platform Approfondimenti Job Queue

Additional Products:
Zend Core |
Zend Studio |
Zend Guard

Job Queues è un approccio per ottimizzare l’elaborazione offline di script PHP mediante code di job. Job Queue Server fornisce la capacità di reindirizzare e ritardare l’esecuzione di script PHP non essenziali durante l’interazione dell’utente con il server web. Job Queues migliora il tempo di risposta durante le sessioni web interattive e l’impiego di risorse inutilizzate.

In sostanza, ciascun server nel cluster può contenere una coda che fa da contenitore per i job. Puoi visualizzare lo stato di una coda che riporta il numero di job completati con successo, il numero di quelli falliti, di quelli ricorrenti, di quelli dipendenti e così via. Inoltre sono visualizzate delle statistiche, come il tempo medio di attesa per job, il numero di job richiesti e altro ancora. È anche possibile sospendere o riprendere una coda, controllando l’esecuzione dei nuovi job inseriti in essa.

Aggiungere un nuovo job è semplice e intuitivo: si procede tramite l’interfaccia utente. È possibile impostare la priorità del job, il nome dell’applicazione e il file dello script da eseguire. È anche possibile definire un job come dipendente da un altro e fissare i dati di programmazione per il job, in modo da eseguirlo immediatamente o in un momento determinato. Inoltre, il job può essere ricorrente: in questo caso viene eseguito all’infinito.

Job Queues dispone di un’API completa che consente l’accesso a tutte le funzionalità.


Zend Platform Job Queues
     Visualizza schermata


Funzionamento di Job Queues

Quando si attiva la funzionalità Job Queues, il daemon Job Queues viene eseguito su ciascun server del cluster. Il daemon fa da unità di esecuzione per le code. Quando si aggiunge un nuovo job a una coda, i suoi attributi (nome, priorità, ID applicazione e così via), oltre ai dati di dipendenza e programmazione, vengono registrati nel database di Zend Platform. Ogni Job è anche inserito nella coda, una sorta di contenitore logico. Il daemon Job Queues provvede all’aggiornamento dello stato di ciascun job e a controllare se lo stato attuale richiede operazioni aggiuntive, come l’esecuzione. Per esempio, se è giunto il momento programmato per l’esecuzione di un job, o se sono soddisfatte le condizioni di dipendenza di un job, il daemon avvia l’esecuzione del job in questione, eseguendo lo script PHP associato e catturandone l’output. La capacità di configurare a livello centrale job e code per tutti i server del cluster si ottiene grazie al fatto che il daemon Job Queues è in grado di comunicare in modalità bidirezionale con l’interfaccia utente di Job Queues sul server centrale.

White Paper: Scalability and Responsiveness with Zend Platform's Job Queue (in inglese)

Torna alla pagina delle caratteristiche